CRDTs vs Operational Transformations
Compares
Operational Transformations
are built around transformations (actions) applied.
The goal is for the different users to apply each other's transformations to the structure so the end result contains the operations done by all users.
CRDT
Are built around data structures, over which changes can be applied in a way that they converge.
More oriented to a P2P model
On SO
For a long time OTs require a central server
See
Allegedly this sparked the research on CRDTs
From Yjs
*Conflict-free replicated data types* (CRDT) for collaborative editing are an alternative approach to *operational transformation* (OT).
A very simple differenciation between the two approaches is that OT attempts to
transform index positions to ensure convergence (all clients end up with the
same content), while CRDTs use mathematical models that usually do not involve
index transformations, like linked lists.
OT is currently the de-facto standard for shared editing on text. OT approaches
that support shared editing without a central source of truth (a central server)
require too much bookkeeping to be viable in practice.
CRDTs are better suited for distributed systems, provide additional guarantees
that the document can be synced with remote clients, and do not require a
central source of truth.