论文标题
实时进行拜占庭共识(扩展版)
Making Byzantine Consensus Live (Extended Version)
论文作者
论文摘要
部分同步的拜占庭共识协议通常将其执行构成一系列视图,每个视图都有指定的领导者过程。保证在这些协议中发挥作用的关键是确保所有正确的过程最终在正确的领导者的视图中重叠,以达到足够长的时间以做出决定。我们提出了一个简单的视图同步抽象,该抽象封装了拜占庭共识协议的相应功能,从而简化了其设计。我们提出了视图同步器及其在部分同步下的实现的形式规范,尽管在异步期间耐受消息损失,但仍在有限的空间中运行。我们表明,我们的同步规范足以保证几种众所周知的拜占庭共识方案的单次版本,包括Hotstuff,Tendermint,PBFT和SBFT。当使用同步器时,我们还为这些协议提供了精确的延迟范围。通过考虑视图同步的功能,我们可以在统一框架中指定和分析协议,从而可以比较它们并突出显示权衡。
Partially synchronous Byzantine consensus protocols typically structure their execution into a sequence of views, each with a designated leader process. The key to guaranteeing liveness in these protocols is to ensure that all correct processes eventually overlap in a view with a correct leader for long enough to reach a decision. We propose a simple view synchronizer abstraction that encapsulates the corresponding functionality for Byzantine consensus protocols, thus simplifying their design. We present a formal specification of a view synchronizer and its implementation under partial synchrony, which runs in bounded space despite tolerating message loss during asynchronous periods. We show that our synchronizer specification is strong enough to guarantee liveness for single-shot versions of several well-known Byzantine consensus protocols, including HotStuff, Tendermint, PBFT and SBFT. We furthermore give precise latency bounds for these protocols when using our synchronizer. By factoring out the functionality of view synchronization we are able to specify and analyze the protocols in a uniform framework, which allows comparing them and highlights trade-offs.