Verifying Strong Eventual Consistency in Distributed Systems
Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, Alastair R., Beresford

TL;DR
This paper presents a formal verification framework for CRDTs in distributed systems, ensuring their correctness and strong eventual consistency through machine-checked proofs in Isabelle/HOL.
Contribution
It introduces a modular, network-aware formal framework for verifying CRDT correctness, including the first machine-checked proofs for three key CRDTs.
Findings
Verified correctness of three CRDTs using the framework
Framework accounts for real-world network behaviors
Proofs are reusable and developed efficiently
Abstract
Data replication is used in distributed systems to maintain up-to-date copies of shared data across multiple computers in a network. However, despite decades of research, algorithms for achieving consistency in replicated systems are still poorly understood. Indeed, many published algorithms have later been shown to be incorrect, even some that were accompanied by supposed mechanised proofs of correctness. In this work, we focus on the correctness of Conflict-free Replicated Data Types (CRDTs), a class of algorithm that provides strong eventual consistency guarantees for replicated data. We develop a modular and reusable framework in the Isabelle/HOL interactive proof assistant for verifying the correctness of CRDT algorithms. We avoid correctness issues that have dogged previous mechanised proofs in this area by including a network model in our formalisation, and proving that our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Scientific Computing and Data Management · Distributed and Parallel Computing Systems
