An interactive intro to CRDTs - https://news.ycombinator.com/item?id=37764581 - Oct 2023 (130 comments)
Also a really well written piece.
1) Counters
While not really useful, they demonstrate this well: mutations are +1 and -1, their order do not matter, converging the state is a matter of applying the operations of remote peers locally.
2) Append-only data structures
Useful for accounting, or replication of time-series/logs with no master/slave relationship between nodes (where writes would be accepted only on a "master" node).
The only mutation is "append", and converging the state is applying the peers operations then sorting by timestamp.
anematode•58m ago
Edit: I had an excerpt here which I completely misread. Sorry.
gritzko•54m ago
Downside: harder to think about it all.
Upside: a rocket may hit the datacenter.
From what I remember about Figma, it can be proclaimed CRDT. Google Docs got their sync algorithm before CRDT was even known (yep, I remember those days!).
anematode•44m ago
epistasis•48m ago
> OTs power most collaborative text-based apps such as Google Docs. They’re the most well-known technique but in researching them, we quickly realized they were overkill for what we wanted to achieve ...
> Figma's tech is instead inspired by something called CRDTs, which stands for conflict-free replicated data types. ... Figma isn't using true CRDTs though. CRDTs are designed for decentralized systems where there is no single central authority to decide what the final state should be
https://www.figma.com/blog/how-figmas-multiplayer-technology...