nostr:nprofile1qqsvqnfplem5auv0ug0j2v8kkp5x06fcv93rqs6cz54fm6svs28ahgqpr9mhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9u3jc2xh você poderia me dizer como é feita a verificação da assinatura de uma nota do #Nostr ?

Reply to this note

Please Login to reply.

Discussion

Do mesmo jeito que no Bitcoin, é ECC. Passa o conteúdo da mensagem, a public key e a assinatura e o algoritmo responde se é valida ou não.

https://en.m.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm

O nip-1 descreve o funcionamento básico do protocolo: https://github.com/nostr-protocol/nips/blob/master/01.md

Basicamente, é feito um hash dos dados do evento, que então é assinado com a nsec. Então, para verificar um evento:

1) Verifica se o hash corresponde aos dados do evento para verificar sua integridade

2) Verifica que a assinatura corresponde ao hash assinado pelo autor do evento

O protocolo utilizado para assinatura é descrito aqui:

https://bips.xyz/340

Então, em uma nota não adulterada que foi escrita e assinada corretamente, a assinatura, que está no campo sig, foi gerada usando o campo id que contém o hash dos dados da mensagem?

Sim. A assinatura é esse id assinado com a nsec.