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.
翻译:Byzantine 错误容忍(BFT) 共识算法(BFT) 是向分布式系统提供安全和生命保障的核心,这些系统必须在出现任意故障的情况下运作。最近,提出了许多新的BFT算法,这主要归功于牵引式链技术在寻求共识解决方案的过程中所积累的优势,这些解决方案提供了高通量、低延缓度和强健的系统设计。在本文件中,我们对学术界和工业界广泛关注的选定和有区别的BFT算法进行了系统调查。我们对考虑信息和时间复杂性的所有算法进行了质的比较。此外,我们还将每一种共识算法分解成其组成子程序,用于复制和查看直观数字所支持的变化,以说明信息传递模式。我们还详细阐述了每一种算法与最新方法相比的优缺点。