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 \emph{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.
翻译:一种共同的看法是,拜占庭对共识的过错容忍度解决方案比其失错容忍度对应方要慢得多。 事实上,在最广为人知的拜占庭过错容忍共识协议PBFT中,需要三个信息延迟才能决定一个价值,而和平协会则只有两个。这促使人们寻找快速的拜占庭共识算法,这些算法可以在仅仅两个信息延迟之后才能产生决定,例如,假设现任领导人是正确的,而不是被正确程序怀疑。(最理想的)两步悬浮与较低的复原力成本有关:快速的拜占庭过错容忍度共识协议要求更多的进程来容忍相同数目的错误。特别是,5f+1美元的流程被声称是必需的,以容忍拜占庭失败的美元。在本文中,我们提出了一个快速的拜占庭协商一致算法,仅依赖5f-1美元的流程。 此外,我们表明,5f-1美元是紧要低的,纠正早期工作的一个错误。尽管仅仅需要2美元流程的差额,但对于一个最关键的系统来说,4美元的比例是最低的。