Nesse caso não daria pra usar JWT da mesma forma que fazemos pra autenticar um usuário em aplicações web normalmente?
Fiz um estudo sobre a forma correta de se armazenar a chave privada no navegador. O certo seria usar essa api, que evita a chave ser acessível através de código js:
https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/generateKey
Discussion
Não daria certo, pois o cliente precisa assinar eventos, ou seja, precisa ter acesso à chave privada. JWT só é utilizado para verificação.
Dei uma pesquisada rápida, e pelo visto não daria.
Até mesmo porque o nostr não tem um servidor central com os usuários cadastrados nele 🫠