CRDT – Conflict-free replicated data type

CRDT or Conflict-free replicated data type is ‘a data structure which can be replicated across multiple computers in a network’

See https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type

See demo project for a collaborative Markdown editor https://www.npmjs.com/package/crdt-md-editor

See also operational transformation, the convergence algorithm used by Google docs and Ms Office online.

CRDTs allow for a consistency model called Eventual consistency.


See Peritext, a rich-text CRDT developed by Ink & Switch. Github, Essay


See 5000x faster CRDTs: An Adventure in Optimization (Recent article 2021-07-31 about CRDT speed)

Here the author Seph Gentle recommends using Yjs for any kind of production set-up.

See https://docs.yjs.dev/


See List of text editors

See also https://github.com/redwood/redwood and List of databases

References

A selection of very useful links about CRDTs and distributed systems. Via the Fission discord. https://wiki.nikitavoloboev.xyz/distributed-systems/crdt

A Conflict-free Replicated Data Type (CRDT) is a data structure that simplifies distributed data storage systems and multi-user applications. https://crdt.tech/

CRDTs and the search for distributed consistency on YouTube

Operation based CRDTs: protocol https://bartoszsypytkowski.com/operation-based-crdts-protocol/

Introduction to CRDTs for Realtime Collaboration https://dev.to/nyxtom/introduction-to-crdts-for-realtime-collaboration-2eb1

https://martin.kleppmann.com/2021/11/25/srg-seminars.html

https://crdt.tech/implementations