mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-02-23 21:59:01 +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
|
NIP-03
|
||||||
======
|
======
|
||||||
|
|
||||||
Notarizing Events
|
Timestamp Attestations for Events
|
||||||
-----------------
|
---------------------------------
|
||||||
|
|
||||||
`draft` `optional`
|
`draft` `optional`
|
||||||
|
|
||||||
This NIP defines strategies for establishing when an event was first found on the nostr network:
|
This NIP defines strategies for establishing when an event was first found on the nostr network:
|
||||||
|
|
||||||
- [OpenTimestamps](#opentimestamps)
|
- [OpenTimestamps](#opentimestamps)
|
||||||
- [Relay Notaries](#relay-notaries)
|
- [Attestation Event](#attestation-event)
|
||||||
- [Peer Notaries](#peer-notaries)
|
|
||||||
|
|
||||||
# OpenTimestamps
|
# OpenTimestamps
|
||||||
|
|
||||||
@ -41,35 +40,23 @@ Using [`nak`](https://github.com/fiatjaf/nak), [`jq`](https://jqlang.github.io/j
|
|||||||
timestamp validated at block [810391]
|
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.
|
- One or more `stamp` tags MUST be included indicating event ids and timestamps. Event addresses MUST NOT be used.
|
||||||
- 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.
|
- The `content` field MAY provide any human-readable explanation of the event.-
|
||||||
- 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.
|
|
||||||
|
|
||||||
```jsonc
|
```jsonc
|
||||||
{
|
{
|
||||||
"content": "I vaguely remember hearing about this note last year",
|
"content": "I vaguely remember hearing about this note last year",
|
||||||
"tags": [
|
"tags": [
|
||||||
["alt", "A notary event"],
|
["alt", "A timestamp attestation event"],
|
||||||
["notary", "e71c6ea722987debdb60f81f9ea4f604b5ac0664120dd64fb9d23abc4ec7c323", 1738617405]
|
["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) |
|
| `2003` | Torrent | [35](35.md) |
|
||||||
| `2004` | Torrent Comment | [35](35.md) |
|
| `2004` | Torrent Comment | [35](35.md) |
|
||||||
| `2022` | Coinjoin Pool | [joinstr][joinstr] |
|
| `2022` | Coinjoin Pool | [joinstr][joinstr] |
|
||||||
| `4341` | Peer notary | [03](03.md) |
|
| `4341` | Timestamp Attestation | [03](03.md) |
|
||||||
| `4550` | Community Post Approval | [72](72.md) |
|
| `4550` | Community Post Approval | [72](72.md) |
|
||||||
| `5000`-`5999` | Job Request | [90](90.md) |
|
| `5000`-`5999` | Job Request | [90](90.md) |
|
||||||
| `6000`-`6999` | Job Result | [90](90.md) |
|
| `6000`-`6999` | Job Result | [90](90.md) |
|
||||||
|
Loading…
Reference in New Issue
Block a user