Byzantine state-machine replication (SMR) ensures the consistency of replicated state in the presence of malicious replicas and lies at the heart of the modern blockchain technology. Byzantine SMR protocols often guarantee safety under all circumstances and liveness only under synchrony. However, guaranteeing liveness even under this assumption is nontrivial. So far we have lacked systematic ways of incorporating liveness mechanisms into Byzantine SMR protocols, which often led to subtle bugs. To close this gap, we introduce a modular framework to facilitate the design of provably live and efficient Byzantine SMR protocols. Our framework relies on a view abstraction generated by a special SMR synchronizer primitive to drive the agreement on command ordering. We present a simple formal specification of an SMR synchronizer and its bounded-space implementation under partial synchrony. We also apply our specification to prove liveness and analyze the latency of three Byzantine SMR protocols via a uniform methodology. In particular, one of these results yields what we believe is the first rigorous liveness proof for the algorithmic core of the seminal PBFT protocol.
翻译:拜占庭州机器复制(SMR)确保了在恶意复制品存在的情况下复制国家的一致性,并且是现代链式技术的核心。拜占庭州机器复制(SMR)协议常常保证所有情况下的安全,只有在同步的情况下才能保证生命安全。然而,即使根据这一假设,保障生命安全也是非三重性的。迄今为止,我们没有系统的方法将活性机制纳入Byzantine SMR协议,这往往导致微妙的错误。为了缩小这一差距,我们引入了一个模块化框架,以便利设计可察觉的活性和高效的拜占庭SMR协议。我们的框架依赖于由特别的SMR同步器原始生成的视觉抽象,以驱动指挥命令协议。我们提出了SMR同步器的简单正式规格及其在部分同步情况下的封闭空间执行。我们还运用了我们的规格来证明活性并用统一的方法分析三个Bizantine SMR协议的宽度。特别是其中的一项结果产生了我们认为是半PBFT协议的算法核心的首次严格的活性证据。