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.
翻译:中本聪共识协议适用于无许可模型并能容忍拜占庭故障,但仅提供概率性一致性。近期,沙漏协议表明这种较弱保证并非无许可模型的必然结果;然而,沙漏仅能容忍良性故障,且运行在非常规的部分同步模型中。我们提出Gorilla沙漏协议——这是首个在无许可环境中,采用中本聪所采用同一同步模型,保证确定性一致性与概率为1的终止性的拜占庭容错共识协议。我们通过将可能违反Gorilla协议一致性和终止性的执行映射到沙漏协议中的执行,而在沙漏协议中此类违反已知不可能发生,从而证明Gorilla的正确性。终止性的证明尤为有趣,因为该映射需要推理论述无限执行及其概率。