PBFT 是否违反了 Fischer M J 和 Lynch N A 证明的“f+1”轮界

问题描述

Fischer M J 和 Lynch N A 在他们的论文 A lower bound for the time to assure interactive consistency 中证明了拜占庭共识所需的轮界。 简而言之,他们声称达到拜占庭共识的轮次的下限是 f+1,其中 f 是容忍进程的数量

然而,在论文Practical Byzantine Fault Tolerance中,拜占庭共识是通过三轮达成的,即预准备、准备和提交。

PBFT 是否违反 f+1 轮界?

解决方法

没有矛盾; PBFT 需要考虑领导者出现错误的可能性。特别是,我们总是可以想象这样一个执行,其中我们循环的前 f 个领导者都是错误的。如果一个“epoch/view”的leader有问题,就不会达成共识。

(请注意,下限是“最坏情况”界限——确定性协议必须始终在最坏情况下执行 f+1 轮,即使“大多数”执行时间很短。)

所以从这个意义上说,f+1 界限并不是一个特别强的限制。它只是说总是存在一些可能需要 f+1 轮的执行。使用随机协议,我们通常可以在预期的恒定轮数内达成共识(即使在最坏的情况下,我们可能需要 f+1 轮)。