Crash fault tolerant (CFT) consensus algorithms are commonly used in scenarios where system components are trusted, such as enterprise settings. CFT algorithms offer high throughput and low latency, making them an attractive option for centralized operations that require fault tolerance. However, CFT consensus is vulnerable to Byzantine faults, which can be introduced by a single corrupt component. Such faults can break consensus in the system. Byzantine fault tolerant (BFT) consensus algorithms withstand Byzantine faults, but they are not as competitive with CFT algorithms in terms of performance. In this work, we explore a middle ground between BFT and CFT consensus by exploring the role of accountability in CFT protocols. That is, if a CFT protocol node breaks protocol and affects consensus safety, we aim to identify which node was the culprit. Based on Raft, one of the most popular CFT algorithms, we present Raft-Forensics, which provides accountability over Byzantine faults. We theoretically prove that if two honest components fail to reach consensus, the Raft-Forensics auditing algorithm finds the adversarial component that caused the inconsistency. In an empirical evaluation, we demonstrate that Raft-Forensics performs similarly to Raft and significantly better than state-of-the-art BFT algorithms. With 256 byte messages, Raft-Forensics achieves peak throughput 87.8% of vanilla Raft at 46% higher latency, while state-of-the-art BFT protocol Dumbo-NG only achieves 18.9% peak throughput at nearly $6\times$ higher latency.
翻译:崩溃故障容错(CFT)共识算法广泛应用于系统组件可信的场景(如企业环境)。CFT算法具有高吞吐量和低延迟的特点,使其成为需要容错的集中式运营模式的理想选择。然而,CFT共识易受拜占庭故障影响,单个受损组件即可引发此类故障,进而破坏系统共识。拜占庭故障容错(BFT)共识算法能够抵御拜占庭故障,但其性能难以与CFT算法匹敌。本研究通过探索问责机制在CFT协议中的作用,在BFT与CFT共识之间寻求平衡点:即当CFT协议节点违反协议并危及共识安全性时,我们力图识别引发问题的肇事节点。基于最流行的CFT算法之一Raft,我们提出Raft-Forensics协议,该协议可为拜占庭故障提供问责能力。理论证明表明:当两个诚实组件无法达成共识时,Raft-Forensics审计算法能够定位导致不一致性的恶意组件。实验评估显示,Raft-Forensics的性能与Raft相当,且显著优于当前最优的BFT算法。采用256字节消息时,Raft-Forensics在延迟增加46%的条件下达到原生Raft峰值吞吐量的87.8%,而最先进的BFT协议Dumbo-NG在延迟增加近6倍时仅能达到其峰值吞吐量的18.9%。