CRDTs: Semilattices All the Way Down

2025-05-23

This article delves into the design principles of Conflict-Free Replicated Data Types (CRDTs), asserting that all well-designed CRDTs should be based on semilattice structures. The author criticizes CRDTs that hide assumptions, emphasizing that all necessary assumptions must be internalized within the semilattice. Using add/remove sets as an example, the article demonstrates how incorporating a causality lattice resolves non-convergent behavior that can arise from local-time-based expiration mechanisms. The author concludes by summarizing key CRDT design points and stressing the importance of building reliable distributed systems.

Development semilattice