Table of Contents
Fetching ...

Process-Commutative Distributed Objects: From Cryptocurrencies to Byzantine-Fault-Tolerant CRDTs

Davide Frey, Lucie Guillou, Michel Raynal, François Taïani

TL;DR

This paper formally characterizes a novel class of distributed objects that only requires a First In First Out (FIFO) order on the object operations from each process (taken individually), and presents a generic algorithm that implements this novel class of distributed objects both in a crash- and Byzantine setting.

Abstract

This paper explores the territory that lies between best-effort Byzantine-Fault-Tolerant Conflict-free Replicated Data Types (BFT CRDTs) and totally ordered distributed ledgers, such as those implemented by Blockchains. It formally characterizes a novel class of distributed objects that only requires a First In First Out (FIFO) order on the object operations from each process (taken individually). The formalization leverages Mazurkiewicz traces to define legal sequences of operations and ensure both Strong Eventual Consistency (SEC) and Pipleline Consistency (PC). The paper presents a generic algorithm that implements this novel class of distributed objects both in a crash- and Byzantine setting. It also illustrates the practical interest of the proposed approach using four instances of this class of objects, namely money transfer, Petri nets, multi-sets, and concurrent work stealing dequeues.

Process-Commutative Distributed Objects: From Cryptocurrencies to Byzantine-Fault-Tolerant CRDTs

TL;DR

This paper formally characterizes a novel class of distributed objects that only requires a First In First Out (FIFO) order on the object operations from each process (taken individually), and presents a generic algorithm that implements this novel class of distributed objects both in a crash- and Byzantine setting.

Abstract

This paper explores the territory that lies between best-effort Byzantine-Fault-Tolerant Conflict-free Replicated Data Types (BFT CRDTs) and totally ordered distributed ledgers, such as those implemented by Blockchains. It formally characterizes a novel class of distributed objects that only requires a First In First Out (FIFO) order on the object operations from each process (taken individually). The formalization leverages Mazurkiewicz traces to define legal sequences of operations and ensure both Strong Eventual Consistency (SEC) and Pipleline Consistency (PC). The paper presents a generic algorithm that implements this novel class of distributed objects both in a crash- and Byzantine setting. It also illustrates the practical interest of the proposed approach using four instances of this class of objects, namely money transfer, Petri nets, multi-sets, and concurrent work stealing dequeues.
Paper Structure (60 sections, 19 theorems, 20 equations, 1 figure, 2 algorithms)

This paper contains 60 sections, 19 theorems, 20 equations, 1 figure, 2 algorithms.

Key Result

Theorem 1

algo:generic instantiated with CR-Broadcast implements a Process-Commutative Object specified by the tuple $(C,(O_j)_j,L,Q)$ in the system model ${\mathit{CAMP}_{n,t}}[\emptyset]$.

Figures (1)

  • Figure 1: An execution of a toy token ring specified over the alphabet $\Sigma=\{t_{AB},t_{BA}\}$ by the trace language $L = \{u\in \mathbb{M}(\Sigma,I) \bigm| 0 \leq \textbf{1}_{u}(t_{AB})-\textbf{1}_{u}(t_{BA})\leq 1 \}$.

Theorems & Definitions (21)

  • Definition 1: PCO-Compliance in the crash failure model
  • Definition 2: Distributed PCO in the Byzantine failure model
  • Theorem 1: with crashes
  • Theorem 2: with Byzantine failures
  • Lemma 1
  • Corollary 1
  • Lemma 2
  • Corollary 2
  • Theorem 2: with crashes
  • Lemma 3
  • ...and 11 more