It is a common belief that Byzantine fault-tolerant solutions for consensus are significantly slower than their crash fault-tolerant counterparts. Indeed, in PBFT, the most widely known Byzantine fault-tolerant consensus protocol, it takes three message delays to decide a value, in contrast with just two in Paxos. This motivates the search for fast Byzantine consensus algorithms that can produce decisions after just two message delays in the common case, e.g., under the assumption that the current leader is correct and not suspected by correct processes. The (optimal) two-step latency comes with the cost of lower resilience: fast Byzantine consensus requires more processes to tolerate the same number of faults. In particular, $5f+1$ processes were claimed to be necessary to tolerate $f$ Byzantine failures. In this paper, we present a fast Byzantine consensus algorithm that relies on just $5f-1$ processes. Moreover, we show that $5f-1$ is the tight lower bound, correcting a mistake in the earlier work. While the difference of just $2$ processes may appear insignificant for large values of $f$, it can be crucial for systems of a smaller scale. In particular, for $f=1$, our algorithm requires only $4$ processes, which is optimal for any (not necessarily fast) partially synchronous Byzantine consensus algorithm.
翻译:一种共同的看法是,Byzantine 错误容忍的共识解决方案比其崩溃容忍的对应方要慢得多。 事实上,在最广为人知的Byzantine错误容忍共识协议PBFT中,需要三个信息延迟才能决定一个价值,而PBFT中只有两个。这促使人们寻找快速的Byzantine共识算法,这些算法可以在普通案件中仅仅两个信息延迟之后产生决定,例如,假设当前领导人是正确的,而不是被正确的程序怀疑。(最理想的)两步悬浮成本是弹性较低的:快速的BBBFT要求有更多的程序来容忍相同数目的错误。特别是,5f+1美元进程被声称是容忍Byzantine失败所必需的。在本文中,我们提出了一个快速的Byzantine共识算法,仅依赖5f-1美元程序。此外,我们显示5f-1美元是紧要的下限,纠正早先工作中的错误。 仅仅2美元进程差额可能显得微不足道,因为美元的最大值值是美元,而美元是任何一个最起码的系统。