The problem of Byzantine consensus has been key to designing secure distributed systems. However, it is particularly difficult, mainly due to the presence of Byzantine processes that act arbitrarily and the unknown message delays in general networks. Although it is well known that both safety and liveness are at risk as soon as n/3 Byzantine processes fail, very few works attempted to characterize precisely the faults that produce safety violations from the faults that produce termination violations. In this paper, we present a new lower bound on the solvability of the consensus problem by distinguishing deceitful faults violating safety and benign faults violating termination from the more general Byzantine faults, in what we call the Byzantine-deceitful-benign fault model. We show that one cannot solve consensus if $n \leq 3t + d + 2q$ with t, d, and q are Byzantine, deceitful, and benign processes. We show that this bound is tight by presenting the Basilic class of consensus protocols that solve consensus when $n > 3t + d + 2q$. These protocols differ in the number of processes from which they wait to receive messages before progressing. Then, we build upon the Basilic class in order to present Zero-Loss Blockchain (ZLB), the first blockchain that tolerates an adversary controlling more than half of the system, with up to less than a third of them Byzantine. ZLB is an open blockchain that combines recent theoretical advances in accountable Byzantine agreement to exclude undeniably faulty processes. Interestingly, ZLB does not need a known bound on the delay of messages but progressively reduces the portion of faulty processes below 13 , and reaches consensus. Geo-distributed experiments show that ZLB outperforms HotStuff and is almost as fast as the scalable Red Belly Blockchain that cannot tolerate n/3 faults.
翻译:拜占庭共识问题一直是设计安全分布式系统的关键。然而,这一问题尤为困难,主要源于拜占庭进程的任意行为以及通用网络中未知的消息延迟。尽管众所周知,一旦超过n/3的拜占庭进程失效,安全性和活跃性均会面临风险,但鲜有研究尝试精确区分导致安全性违例的故障与导致终止性违例的故障。本文通过区分破坏安全性的欺骗性故障、破坏终止性的良性故障以及更一般的拜占庭故障,提出了一种新的共识问题可解性下界,称为拜占庭-欺骗-良性故障模型。我们证明:当n ≤ 3t + d + 2q(其中t、d、q分别为拜占庭、欺骗和良性进程数)时,无法求解共识问题;通过提出Basilic类共识协议(在n > 3t + d + 2q条件下可求解共识),证明该界是紧的。这些协议在所等待的消息接收进程数量上有所差异。基于Basilic类,我们进一步提出零损耗区块链(ZLB),这是首个能够容忍控制半数以上系统(其中拜占庭进程不足三分之一)的对手的区块链。ZLB是一种开放区块链,结合了近期可问责拜占庭协议的理论进展以排除确凿的故障进程。值得注意的是,ZLB无需已知的消息延迟上界,而是逐步将故障进程比例降至三分之一以下并达成共识。地理分布式实验表明,ZLB性能优于HotStuff,且几乎与无法容忍n/3故障的可扩展红腹区块链一样快。