NIP-03
O NIP-03 define um mecanismo para atestar eventos do Nostr usando OpenTimestamps, ancorando o hash desses eventos na blockchain do Bitcoin. A partir disso, torna-se possível provar que um determinado evento já existia antes de um bloco específico, utilizando o Bitcoin como um relógio público, descentralizado e verificável.
Atestações OpenTimestamps para Eventos
draft optional
Este NIP define um evento com kind: 1040 que pode conter uma prova OpenTimestamps para qualquer outro evento:
{
"kind": 1040,
"tags": [
["e", <id-do-evento-alvo>, <url-do-relay>],
["k", "<kind-do-evento-alvo>"]
],
"content": <dados-do-arquivo-OTS-codificados-em-base64>
}
- A prova OpenTimestamps DEVE comprovar o ID do evento referenciado na tag
ecomo sendo o digest (hash). - O campo
contentDEVE conter o conteúdo completo de um arquivo.ots, codificado em base64, contendo pelo menos uma atestação no Bitcoin. - Esse arquivo DEVERIA conter uma única atestação no Bitcoin (já que mais de uma atestação válida não é necessária e menos bytes é melhor do que mais).
- O arquivo NÃO DEVE conter referências a atestações “pendentes” (pending), pois elas são inúteis neste contexto.
Exemplo de fluxo de verificação de uma prova OpenTimestamps
Usando as ferramentas nak, jq e ots:
~> nak req -i e71c6ea722987debdb60f81f9ea4f604b5ac0664120dd64fb9d23abc4ec7c323 wss://nostr-pub.wellorder.net | jq -r .content | ots verify
> using an esplora server at https://blockstream.info/api
- sequence ending on block 810391 is valid
timestamp validated at block [810391]
No comments yet.