Modern $\textit{chained}$ Byzantine Fault Tolerant (BFT) protocols leverage a combination of pipelining and leader rotation to maximize both efficiency and fairness. Unfortunately, this approach compromises liveness. We observe that even simple leader failures such as crashes can prevent the system from making progress, both theoretically, and practically. The root cause is simple: these protocols require a sequence of three or four consecutive honest leaders to commit operations. This paper makes two contributions: first, we show that, in the presence of arbitrary failures, consecutive honest leaders are $\textit{necessary}$. When nodes fail by omission however, one can do better. As second contribution, we thus propose Siesta, a novel chained BFT protocol that successfully commit blocks that span multiple non-consecutive leaders. Siesta reduces the expected commit latency of Hotstuff by a factor of three under failures, and the worst-case latency by a factor of eight.
翻译:现代 $\ textit{ 链锁 $ Byzantine Dault 容忍协议( BFT) 利用管道和领导者轮换组合, 以最大限度地提高效率和公平性。 不幸的是, 这种方法会损害生活。 我们观察到, 即使是简单的领导人失误, 比如碰撞, 也会阻碍系统在理论上和实践上的进步。 根本原因很简单 : 这些协议需要连续三、 四个诚实的领导者进行操作。 本文做出两项贡献 : 首先, 我们显示, 在出现任意失败的情况下, 连续的诚实领导者是 $\ textit{ 必需 $ 。 但是, 当节点因疏漏而失败时, 可以做得更好 。 作为第二项贡献, 我们因此提出一个新颖的连锁 BFT协议, 即一个连锁协议, 成功将多个非连带领导者连接的区块连接起来。 斯泰esta 将预期热点的悬浮度降低三倍的失败率, 而最坏的悬浮度降低八分 。