First-generation blockchains provide probabilistic finality: a block can be revoked, albeit the probability decreases as the block sinks deeper into the chain. Recent proposals revisited committee-based BFT consensus to provide deterministic finality: as soon as a block is validated, it is never revoked. A distinguishing characteristic of these second-generation blockchains over classical BFT protocols is that committees change over time as the participation and the blockchain state evolve. In this paper, we push forward in this direction by proposing a formalization of the Dynamic Repeated Consensus problem and by providing generic procedures to solve it in the context of blockchains. Our approach is modular in that one can plug in different synchronizers and single-shot consensus instances. To offer a complete solution, we provide a concrete instantiation, called Tenderbake, and present a blockchain synchronizer and a single-shot consensus algorithm, working in a Byzantine and partially synchronous system model with eventually synchronous clocks. In contrast to recent proposals, our methodology is driven by the need to bound the message buffers. This is essential in preventing spamming and run-time memory errors. Moreover, Tenderbake processes can synchronize with each other without exchanging messages, leveraging instead the information stored in the blockchain.
翻译:第一代的构件链提供了概率性的终局性:一块块可以被拆除,尽管随着块块沉入链中,概率会下降。最近的提案重新审视了委员会基础的BFT共识,以提供决定性的终局性:一旦一个块得到验证,它就永远不会被撤销。古典BFT协议的第二代构件链的一个显著特征是,随着参与和块链状态的演变,委员会会随着时间的变化而变化。在本文中,我们通过提出动态重复共识问题的正规化和提供在块链中解决问题的通用程序,朝这个方向前进。我们的方法是模块化的,可以插入不同的同步器和单发的共识实例。为了提供一个完整的解决方案,我们提供了一个叫作Tenderbake的具体的即时化,并展示了一个块链同步同步和单发共识算法,在Byzantine和部分同步的系统模型中工作,最终同步的时钟。与最近的提议相反,我们的方法是被需要将信息缓冲起来的。这对于防止吸盘和存储链中的其他信息错误至关重要。