Nakamoto's consensus protocol works in a permissionless model and tolerates Byzantine failures, but only offers probabilistic agreement. Recently, the Sandglass protocol has shown such weaker guarantees are not a necessary consequence of a permissionless model; yet, Sandglass only tolerates benign failures, and operates in an unconventional partially synchronous model. We present Gorilla Sandglass, the first Byzantine tolerant consensus protocol to guarantee, in the same synchronous model adopted by Nakamoto, deterministic agreement and termination with probability 1 in a permissionless setting. We prove the correctness of Gorilla by mapping executions that would violate agreement or termination in Gorilla to executions in Sandglass, where we know such violations are impossible. Establishing termination proves particularly interesting, as the mapping requires reasoning about infinite executions and their probabilities.
翻译:中本聪共识协议在无需许可模型下运行,能够容忍拜占庭故障,但仅提供概率性一致性。近来,Sandglass协议已表明此类较弱保证并非无需许可模型的必然结果;然而,Sandglass仅能容忍良性故障,且在非传统的部分同步模型下运行。我们提出Gorilla Sandglass——首个拜占庭容错共识协议,能够在中本聪所采用的相同同步模型下,于无需许可环境中保证确定性一致性并以概率1终止。我们通过将Gorilla中可能违反一致性或终止性的执行映射到Sandglass中的执行,来证明Gorilla的正确性——已知后者的此类违反行为不可能发生。终止性的证明尤为有趣,因为该映射需要对无限执行及其概率进行推理。