On CRDTs in Byzantine Environments : Conflict Freedom, Equivocation Tolerance, and the Matrix Replicated Data Type

Florian Jacob, Saskia Bayreuther, Hannes Hartenstein
Conflict-free replicated data types (CRDTs) refer to replicated data types that allow updates to be applied to different replicas independently and concurrently -without the need for a remote conflict resolution. Thus, whenever CRDTs can be applied, they provide a building block for scalability and performance of fault-tolerant systems. Currently, CRDTs are typically used in a crash fault setting for global-scale, partition-tolerant, highly-available databases or collaborative applications like
more » ... shopping lists and collaborative text editors. In this paper, we explore the notion of CRDTs in a setting with Byzantine processes. This exploration is inspired by the replicated data type used in the popular Matrix messaging system: as recently shown, the underlying Matrix Event Graph replicated data type represents a CRDT with optimal Byzantine fault tolerance. However, it is currently unclear to which class of applications this Byzantine-tolerant CRDT can be generalized. We, therefore, first discuss in which setting the combination of Byzantine faults and CRDTs might be 'well-defined' and how the notion of conflicts relates to equivocation. We, then, show that a subclass of CRDTs is equivocation-tolerant, i.e., without equivocation detection, prevention or remediation, they still fulfill strong eventual consistency (SEC), and can thereby cope with any number of Byzantine faults. We also conjecture that there is only one operation-based CRDT design supporting non-commutative operations -namely the one used in the Matrix messaging system -that fulfills SEC in Byzantine environments with any number of faults. The corresponding CRDT does obviously neither provide consensus nor total order. We close the paper with thoughts on chances and limits of this potentially unique data type.
doi:10.5445/ir/1000146481 fatcat:2xyz2vgiknfihm3gjjuzrwc54y