A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes

 

Title: A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes
Authors: Victor B. F. Gomes (vb358 /at/ cl /dot/ cam /dot/ ac /dot/ uk), Martin Kleppmann (mk428 /at/ cl /dot/ cam /dot/ ac /dot/ uk), Dominic P. Mulligan (Dominic /dot/ Mulligan /at/ arm /dot/ com) and Alastair R. Beresford (arb33 /at/ cl /dot/ cam /dot/ ac /dot/ uk)
Submission date: 2017-07-07
Abstract: 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 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 theorems hold in all possible network behaviours. Our axiomatic network model is a standard abstraction that accurately reflects the behaviour of real-world computer networks. Moreover, we identify an abstract convergence theorem, a property of order relations, which provides a formal definition of strong eventual consistency. We then obtain the first machine-checked correctness theorems for three concrete CRDTs: the Replicated Growable Array, the Observed-Remove Set, and an Increment-Decrement Counter.
BibTeX:
@article{CRDT-AFP,
  author  = {Victor B. F. Gomes and Martin Kleppmann and Dominic P. Mulligan and Alastair R. Beresford},
  title   = {A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes},
  journal = {Archive of Formal Proofs},
  month   = jul,
  year    = 2017,
  note    = {\url{http://isa-afp.org/entries/CRDT.html},
            Formal proof development},
  ISSN    = {2150-914x},
}
License: BSD License
Used by: IMAP-CRDT
Status: [ok] This is a development version of this entry. It might change over time and is not stable. Please refer to release versions for citations.