Byzantine fault tolerant (BFT) consensus has recently gained much attention because of its intriguing connection with blockchains. Several state-of-the-art BFT consensus protocols have been proposed in the age of blockchains such as Tendermint [5], Pala [9], Streamlet [8], HotStuff [23], and Fast-HotStuff [17]. These protocols are all leader-based (i.e., protocols run in a series of views, and each view has a delegated node called the leader to coordinate all consensus decisions). To make progress, leader-based BFT protocols usually rely on view synchronization, which is an ad-hoc way of rotating the leader and synchronizing nodes to the same view with the leader for enough overlap time. However, many studies and system implementations show that existing methods of view synchronization are complicated and bug-prone [2], [15], [16], [19]. In this paper, we aim to design a leaderless Byzantine fault tolerant (LBFT) protocol, in which nodes simply compete to propose blocks (containing a batch of clients' requests) without the need of explicit coordination through view synchronization. LBFT also enjoys several other desirable features emphasized recently by the research community, such as the chain structure, pipelining techniques, and advanced cryptography [5], [6], [9], [17], [23]. With these efforts, LBFT can achieve both good performance (e.g., O(n)or O(nlog(n)) message complexity) and prominent simplicity.
翻译:平流层(BFT)的共识最近因其与链条的关联性而引起人们的极大关注。 几个最先进的BFT共识协议在链条时代已经提出,例如Tendermint [5]、Pala [9]、Streamlet [8]、HotStuff [23]和Fast-HotStuff[17]。这些协议都是以领导为基础的(即协议以一系列观点运行,每个观点都有一个委托的节点来召集领导人协调所有协商一致决定。 要取得进展,以领导人为基础的BFT协议通常依赖于同步性观,这是在足够重叠的时间内与领导者轮换和同步同一观点的同步性节点。 然而,许多研究和系统实施都表明,现有的观点同步性方法都是复杂和易乱的[2]、[15]、[16]、[19]。 在本文件中,我们的目标是设计一个没有领导力的、容忍性(LBFT)协议,在不争相竞逐项努力的情况下,通过直截面的流程结构,通过(含良好要求,这些要求来保持同步。