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.
翻译:本文探索了尽力而为型拜占庭容错无冲突复制数据类型(BFT CRDT)与全序分布式账本(如区块链实现的账本)之间的中间地带。论文形式化刻画了一类新型分布式对象,该类对象仅需每个进程(独立而言)上的操作满足先进先出(FIFO)顺序。该形式化利用Mazurkiewicz迹(Mazurkiewicz traces)定义合法操作序列,并确保强最终一致性(SEC)与管道一致性(PC)。本文提出了一种通用算法,可在崩溃和拜占庭两种场景下实现这类新型分布式对象。此外,通过四个该对象类的实例(即货币转账、Petri网、多重集和并发工作窃取双端队列),论文展示了所提方法的实际应用价值。