mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-02-22 13:19:00 +00:00
Simplify timestamp attestations
This commit is contained in:
parent
497c505879
commit
980902bb2c
37
03.md
37
03.md
@ -1,16 +1,15 @@
|
||||
NIP-03
|
||||
======
|
||||
|
||||
Notarizing Events
|
||||
-----------------
|
||||
Timestamp Attestations for Events
|
||||
---------------------------------
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP defines strategies for establishing when an event was first found on the nostr network:
|
||||
|
||||
- [OpenTimestamps](#opentimestamps)
|
||||
- [Relay Notaries](#relay-notaries)
|
||||
- [Peer Notaries](#peer-notaries)
|
||||
- [Attestation Event](#attestation-event)
|
||||
|
||||
# OpenTimestamps
|
||||
|
||||
@ -41,35 +40,23 @@ Using [`nak`](https://github.com/fiatjaf/nak), [`jq`](https://jqlang.github.io/j
|
||||
timestamp validated at block [810391]
|
||||
```
|
||||
|
||||
# Relay Notaries
|
||||
# Attestation Event
|
||||
|
||||
Relays MAY notarize events by supporting a `NOTARY` message.
|
||||
Users MAY verify when they first saw an event by publishing a `kind:4341` event.
|
||||
|
||||
- First a client sends a `NOTARY` message to the relay with an event id as the first argument.
|
||||
- Next, the relay MAY respond with a `NOTARY` message with the same event id as the first argument and a timestamp matching when the relay first saw the event as the second argument.
|
||||
- If the relay has not seen the event it SHOULD respond with `null` in the timestamp field.
|
||||
|
||||
Example:
|
||||
|
||||
```jsonc
|
||||
-> ["NOTARY", "e71c6ea722987debdb60f81f9ea4f604b5ac0664120dd64fb9d23abc4ec7c323"]
|
||||
<- ["NOTARY", "e71c6ea722987debdb60f81f9ea4f604b5ac0664120dd64fb9d23abc4ec7c323", 1738617405]
|
||||
```
|
||||
|
||||
Note that relay-provided notaries provide a weaker guarantee than OTS proofs. Depending on the importance of the verification, multiple relays with a good reputation should be consulted in order to determine a reasonable result.
|
||||
|
||||
# Peer Notaries
|
||||
|
||||
Users MAY notarize events by publishing a `kind:4341` event. `content` MAY provide any human-readable explanation of the event. One or more `notary` tags MUST be included indicating event ids and timestamps. Event addresses MUST NOT be used.
|
||||
- One or more `stamp` tags MUST be included indicating event ids and timestamps. Event addresses MUST NOT be used.
|
||||
- The `content` field MAY provide any human-readable explanation of the event.-
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"content": "I vaguely remember hearing about this note last year",
|
||||
"tags": [
|
||||
["alt", "A notary event"],
|
||||
["notary", "e71c6ea722987debdb60f81f9ea4f604b5ac0664120dd64fb9d23abc4ec7c323", 1738617405]
|
||||
["alt", "A timestamp attestation event"],
|
||||
["stamp", "e71c6ea722987debdb60f81f9ea4f604b5ac0664120dd64fb9d23abc4ec7c323", 1738617405]
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Note that user-provided notaries provide a weaker guarantee than OTS proofs. Depending on the importance of the verification, multiple users with a good reputation should be consulted in order to determine a reasonable result.
|
||||
Note that user-provided attestations provide a weaker guarantee than OTS proofs. Depending on the importance of the verification, multiple users with a good reputation should be consulted in order to determine a reasonable result.
|
||||
|
||||
Relays MAY also provide these attestations by generating and signing them on the fly using the pubkey listed in the relay's [NIP 11](./11.md) document.
|
||||
|
@ -150,7 +150,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
||||
| `2003` | Torrent | [35](35.md) |
|
||||
| `2004` | Torrent Comment | [35](35.md) |
|
||||
| `2022` | Coinjoin Pool | [joinstr][joinstr] |
|
||||
| `4341` | Peer notary | [03](03.md) |
|
||||
| `4341` | Timestamp Attestation | [03](03.md) |
|
||||
| `4550` | Community Post Approval | [72](72.md) |
|
||||
| `5000`-`5999` | Job Request | [90](90.md) |
|
||||
| `6000`-`6999` | Job Result | [90](90.md) |
|
||||
|
Loading…
Reference in New Issue
Block a user