Sorry, but what are 'CRDTs'? I'm just a power user with auth interest in the development of public key protocol schemes.
I'm not a developer, but I'm certainly not a casual user.
thanks for your time, we need more people like you.
Login to reply
Replies (1)
From
> Conflict-free Replicated Data Types (CRDTs) are used in systems with optimistic replication, […] CRDTs ensure that, no matter what data modifications are made on different replicas, the data can always be merged into a consistent state. This merge is performed automatically by the CRDT, without requiring any special conflict resolution code or user intervention.
> Moreover, an important characteristic of CRDTs is that they support decentralised operation: they do not assume the use of a single server, so they can be used in peer-to-peer networks and other decentralised settings. In this regard CRDTs differ from the algorithms used by Google Docs, Trello, and Figma, which require all communication between users to flow via a server.
Practical example: instead of republishing a follow list every time I follow or unfollow someone, I make a follow event with the npub I am interested in following (or unfollowing). Then my client can compute the follow list locally, from the follow and unfollow events.
Suppose that I follow someone from a desktop client but the event did not propagate to every relay I use and/or my phone has been disconnected from the internet for a long time and/or it can only connect to the other half of relays etc and I decided to follow someone, it is just an event.
When connectivity normalizes or you sync your phone with your computer directly over bluetooth (amethyst) or FIPS (nostr vault), they will accept each other’s follow events and converge into the same computed follow list - all without special casing, conflict resolution code (like nostur has) and overall it has less complexity and more guarantees than the proposed “event chains”.
I also suppose it would make calculating follow counts easier (rather than inspecting an unbound number of follow lists you could just request follow/unfollow events filtered by npub).
Conflict-free Replicated Data Types
About CRDTs • Conflict-free Replicated Data Types
Resources and community around CRDT technology — papers, blog posts, code and more.