30817:nip-03
NIP-03: OpenTimestamps Attestations for Events
Kind 1040, which carries an OpenTimestamps proof that another event existed before a given Bitcoin block.
Nostr Implementation Possibilities (mirror)
- signed by
- npub19vumf...dm3xgr
- published
- 2022-05-01
- revised
- 2026-05-31
- event
- 58c08d7fbc...715c
Warning
unrecommended: vulnerable to one specific attack, needs update
NIP-03
OpenTimestamps Attestations for Events
draft unrecommended optional
This NIP defines an event with kind:1040 that can contain an OpenTimestamps proof for any other event:
{
"kind": 1040
"tags": [
["e", <target-event-id>, <relay-url>],
["k", "<target-event-kind>"]
],
"content": <base64-encoded OTS file data>
}
- The OpenTimestamps proof MUST prove the referenced
eevent id as its digest. - The
contentMUST be the full content of an.otsfile containing at least one Bitcoin attestation. This file SHOULD contain a single Bitcoin attestation (as not more than one valid attestation is necessary and less bytes is better than more) and no reference to "pending" attestations since they are useless in this context.
Example OpenTimestamps proof verification flow
~> 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]
Cited links
opentimestamps.org
OpenTimestamps: a timestamping proof standard
OpenTimestamps aims to be a standard format for blockchain timestamping.
github.com
GitHub - fiatjaf/nak: a command line tool for doing all things nostr
a command line tool for doing all things nostr. Contribute to fiatjaf/nak development by creating an account on GitHub.
jqlang.github.io
jq
jq is a lightweight and flexible command-line JSON processor
github.com
GitHub - fiatjaf/ots: opentimestamps cli
opentimestamps cli. Contribute to fiatjaf/ots development by creating an account on GitHub.
Discussion
Connect a key to comment.