Byzantine fault-tolerant (BFT) consensus algorithms are at the core of providing safety and liveness guarantees for distributed systems that must operate in the presence of arbitrary failures. Recently, numerous new BFT algorithms have been proposed, not least due to the traction blockchain technologies have garnered in the search for consensus solutions that offer high throughput, low latency, and robust system designs. In this paper, we conduct a systematic survey of selected and distinguished BFT algorithms that have received extensive attention in academia and industry alike. We perform a qualitative comparison among all algorithms we review considering message and time complexities. Furthermore, we decompose each consensus algorithm into its constituent subprotocols for replication and view change backed by intuitive figures to illustrate the message-passing pattern. We also elaborate on the strengths and weaknesses of each algorithm as compared to the state-of-the-art approaches.
翻译:拜占庭容错(BFT)共识算法是保障分布式系统在存在任意故障的情况下仍能提供安全性和活跃性保证的核心技术。近年来,随着区块链技术在追求高吞吐量、低延迟及稳健系统设计的共识解决方案中备受关注,大量新型BFT算法被相继提出。本文对学术界和工业界广泛关注的若干精选代表性BFT算法进行了系统性综述。我们通过消息复杂度与时间复杂度两个维度,对所有被考察算法展开了定性比较。此外,我们还将每个共识算法拆解为复制与视图变更这两个核心子协议,并借助直观示意图阐明其消息传递模式。最后,我们详细阐述了各算法相较于前沿方法的优势与不足。