Discussions and Planning about getting CRDT implementation on top of IPFS & libp2p
CRDT, or Conflict-Free Replicated Data Types, is a type of specially-designed data structure used to achieve strong eventual consistency (SEC) and monotonicity (absence of rollbacks).
- Previous discussions on ipfs/notes
- Conflict-free replicated data types
- A comprehensive study of Convergent and Commutative Replicated Data Types
- Merging OT and CRDT Algorithms
- CRDTs: Making δ-CRDTs Delta-Based
- Key-CRDT Stores
- TRVE Data: Placing a bit less trust in the cloud
- LSEQ: an Adaptive Structure for Sequences in Distributed Collaborative Editing
- A Conflict-Free Replicated JSON Datatype
- "CRDTs Illustrated" by Arnout Engelen
- Coding CRDT
- Dmitry Ivanov & Nami Naserazad - Practical Demystification of CRDT (Lambda Days 2016)
- ElixirConf 2015 - CRDT: Datatype for the Apocalypse by Alexander Songe
- GOTO 2016 • Conflict Resolution for Eventual Consistency • Martin Kleppmann
- CRDT Tutorial for Beginners
- Conflict-Free Replicated Data Types (CRDTs), An Offline Camp passion talk
- CRDT Notes by Paul Frazee
- Towards a unified theory of Operational Transformation and CRDT by Raph Levien
- A simple approach to building a real-time collaborative text editor
- http://y-js.org/
- http://swarmjs.github.io/
- http://gun.js.org/enterprise/
- http://scuttlebot.io/
- https://github.com/mafintosh/hyperlog
- https://github.com/orbitdb
- Yjs through y-ipfs-connector
- ipfs-log, append-only log CRDT used in OrbitDB
There is an IPFS Glossary, a work in progress, which should have definitions for terms used in CRDT. If you are consistently running into terms that you do not know the meaning of, please open an issue on that repository and we can work on a definition that will help you (and others!) going forward.