CRDTs & Conflict Resolution

Lesson, slides, and applied problem sets.

View Slides

Lesson

CRDTs & Conflict Resolution

Why CRDTs

In distributed systems, updates can arrive out of order. Conflict-free Replicated Data Types (CRDTs) guarantee convergence without coordination.


Key idea

A CRDT defines a merge function that is:

  • Commutative (A ⊔ B = B ⊔ A)
  • Associative (A ⊔ (B ⊔ C) = (A ⊔ B) ⊔ C)
  • Idempotent (A ⊔ A = A)

These properties ensure replicas converge even with duplicated or reordered updates.


What you will build

  • G-Counter merge (grow-only counter)
  • LWW Register merge (last-write-wins)
  • PN-Counter merge (inc/dec)
  • OR-Set merge (observed-remove set)
  • MV-Register merge (concurrent values)

Module Items