This commit is contained in:
Mike Dilger 2025-01-03 09:32:56 +13:00
parent a58e71bcab
commit 04e9679505
No known key found for this signature in database
GPG Key ID: 47581A78D4329BA4

12
0A.md
View File

@ -1,10 +1,10 @@
NIP-0A
======
Synchronized Contact List
-------------------------
Synchronized Follow List
------------------------
An addressable event with kind `33000` means "follow list" which communicates the set of profiles (represented by public keys) that the author is currently following.
An addressable event with kind `33000` means "synchronized follow list" which communicates the set of profiles (represented by public keys) that the author is currently following.
The term "following" is left undefined, see ["Uses"](#uses).
@ -12,7 +12,7 @@ The public keys followed are specified in "p" tags.
Additional "np" tags are present only to help with synchronization as described below.
A "d" tag is specified to indicate the client (or possibly client installation) that created the event. This helps prevent cross-client clobbers.
A "d" tag is specified to indicate the client (or possibly client installation) that created the event.
The `.content` is not used.
@ -135,6 +135,6 @@ When the user sees `f57f54057d2a7af0efecc8b0b66f5708` the client can show _frank
## Rationale
This functionally implements a Last-Write-Wins Element Set, which is a conflict-free replicated data set with eventual consistency.
This functionally implements a Last-Write-Wins Element Set, which is a [conflict-free replicated data set](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) with eventual consistency.
We use replaceable events so that superceded events can be erased by relays. This brings back a per-relay clobbering issue, and so we use addressable events to limit such clobbering.
We use replaceable events so that superceded events can be erased by relays. This brings back a per-relay clobbering issue, and so we use addressable events to prevent cross-client clobbering. We still need the CRDT functionality to resolve forks (usually occuring across different relays).