CRDT Resources
Introductions to CRDTs
- Matthew Weidner’s CRDT Survey
-
Nuno Preguiça: Conflict-free Replicated Data Types: An Overview. arXiv:1806.10254, June 2018.
-
Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski: A comprehensive study of Convergent and Commutative Replicated Data Types. INRIA Research Report 7506, Jan. 2011.
-
Awesome CRDT: another collection of CRDT resources
- Nikita Voloboev: “Everything I know”
Blog posts
-
Leon Zhao: Movable tree CRDTs and Loro’s implementation (July 2024)
-
Zixuan Chen: Introduction to Loro’s Rich Text CRDT (January 2024)
-
Jake Lazaroff: An Interactive Intro to CRDTs (October 2023)
-
Vadim Dalecky: Fuzz Testing RGA CRDT (July 2023)
-
Vadim Dalecky: List CRDT Benchmarks (June 2023)
-
Jacky Zhao: Building a BFT JSON CRDT (November 2022)
-
Russell Brown (Ditto): Testing CRDTs in Rust, from Theory to Practice (April 2022)
-
Matthew Weidner: Designing Data Structures for Collaborative Apps (February 2022)
-
Jo Stichbury (Ably): How do CRDTs solve distributed data consistency challenges? (January 2022)
-
Geoffrey Litt, Slim Lim, Martin Kleppmann, Peter van Hardenberg: Peritext: A CRDT for Rich-Text Collaboration (November 2021)
-
Bartosz Sypytkowski: 12-part blog series on CRDTs. Parts 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 (2017–2021)
-
Joseph Gentle (who worked on Google Wave): I was wrong. CRDTs are the future (September 2020)
-
Kevin Jahns: Are CRDTs suitable for shared editing? (August 2020)
-
Lars Hupel: An introduction to Conflict-free Replicated Data Types
A blog post series focussed on the mathematical foundations of CRDTs, with interactive code examples (July 2020)
-
Robert Lord: Notes on Splicing CRDTs for Structured Hypertext (October 2019)
-
Christopher Meiklejohn: Applied Monotonicity: A Brief History of CRDTs in Riak (March 2019)
-
Jo Stichbury/Paddy Byers (Ably) How do CRDTs solve distributed data consistency challenges?
-
Anton Zagorskii: CRDT: Conflict-free Replicated Data Types (August 2018)
-
Alexei Baboulevitch (Archagon): Data Laced with History: Causal Trees & Operational CRDTs
A detailed exposition of Causal Trees and its implementation. (March 2018)
-
Rudi Chen: A simple approach to building a real-time collaborative text editor (October 2017)
-
Russell Sullivan: Datanet: A New CRDT Database That Let’s You Do Bad Bad Things To Distributed Data (October 2016)
-
John Mumm has written a two-part introduction to CRDTs: Part I: Defanging Order Theory and Part II: Convergent CRDTs (November 2015).
Conference talk recordings
-
Martin Kleppmann: CRDTs: The Hard Parts (Hydra distributed computing conference, July 2020)
-
James Long: CRDTs for Mortals (dotJS, December 2019)
-
Martin Kleppmann: Automerge: Making Servers Optional for Real-Time Collaboration (TNG Big Techday, June 2019) (slides)
-
Sun-Li Beatteay: Guaranteeing Consensus in Distributed Systems with CRDTs (Papers We Love NYC, April 2019) (slides)
-
Антон Чапоргин (Anton Chaporgin): Редактор текста на CRDT в продакшене (CRDT text editor in production), Code Fest, March 2019 (slides)
-
Pedro Teixeira: CRDTs in IPFS (IPFS Lisbon Meetup, January 2018)
-
Carlos Baquero: CRDTs and Redis—From Sequential to Concurrent Executions (RedisConf 2018)
-
Martin Kleppmann: Convergence versus Consensus: CRDTs and the Quest for Distributed Consistency (QCon London, March 2018) (slides)
-
Annette Bieniusa: Antidote - a Scalable and Consistent Transactional Data Store (Erlang User Conference 2016)
-
Dmitry Ivanov & Nami Naserazad: Practical Demystification of CRDT (Lambda Days 2016)
-
Martin Kleppmann: Conflict Resolution for Eventual Consistency (GOTO Berlin 2016)
-
Arnout Engelen: CRDTs Illustrated (Strange Loop 2015)
-
Marc Shapiro & Nuno Preguiça: CRDTs in Practice (Code Mesh 2015)
-
Alexander Songe: CRDT: Datatype for the Apocalypse (ElixirConf 2015)
-
Peter Bourgon: Consistency without consensus in production systems (Strange Loop 2014)
-
Various: PaPoC 2020 Recorded Talks (PaPoC 2020)