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.
NIP-03

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 e como sendo o digest (hash).
  • O campo content DEVE 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.