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. 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 relies on Mazurkiewicz traces to define legal sequences of operations and ensure a combination of Strong Eventual Consistency (SEC) and Pipleline Consistency (PC). The paper presents a generic algorithm that implements this novel class of distributed objects in both crash- and Byzantine setting. Finally, the proposed approach is illustrated with four instances of this class of objects, namely money transfer, Petri nets, multi-sets, and concurrent work stealing dequeues.
翻译:本文探索了尽力而为型拜占庭容错无冲突复制数据类型(BFT CRDT)与全序分布式账本之间的中间地带。本文形式化刻画了一类新型分布式对象,该类对象仅要求每个进程(单独考虑)上的对象操作满足先进先出(FIFO)顺序。该形式化方法基于Mazurkiewicz迹来定义合法操作序列,并确保强最终一致性(SEC)与管道一致性(PC)的结合。本文提出了一种通用算法,可在崩溃场景和拜占庭场景中实现该类新型分布式对象。最后,通过该类对象的四个实例——即资金转账、Petri网、多重集及并发工作窃取双端队列——对所提方法进行了说明。