The Byzantine consensus problem involves $n$ processes, out of which t < n could be faulty and behave arbitrarily. Three properties characterize consensus: (1) termination, requiring correct (non-faulty) processes to eventually reach a decision, (2) agreement, preventing them from deciding different values, and (3) validity, precluding ``unreasonable'' decisions. But, what is a reasonable decision? Strong validity, a classical property, stipulates that, if all correct processes propose the same value, only that value can be decided. Weak validity, another established property, stipulates that, if all processes are correct and they propose the same value, that value must be decided. The space of possible validity properties is vast. However, their impact on consensus remains unclear. This paper addresses the question of which validity properties allow Byzantine consensus to be solvable with partial synchrony, and at what cost. First, we determine necessary and sufficient conditions for a validity property to make the consensus problem solvable; we say that such validity properties are solvable. Notably, we prove that, if n <= 3t, all solvable validity properties are trivial (there exists an always-admissible decision). Furthermore, we show that, with any non-trivial (and solvable) validity property, consensus requires Omega(t^2) messages. This extends the seminal Dolev-Reischuk bound, originally proven for strong validity, to all non-trivial validity properties. Lastly, we give a general Byzantine consensus algorithm, we call Universal, for any solvable (and non-trivial) validity property. Importantly, Universal incurs O(n^2) message complexity. Thus, together with our lower bound, Universal implies a fundamental result in partial synchrony: with t \in Omega(n), the message complexity of all (non-trivial) consensus variants is Theta(n^2).
翻译:拜占庭共识问题涉及 $n$ 个进程,其中 $t < n$ 个进程可能发生故障并任意行为。共识由三个特性刻画:(1)终止性,要求正确(无故障)进程最终达成决策;(2)一致性,防止它们决策不同值;以及(3)有效性,排除"不合理"的决策。但何为合理的决策?强有效性——一个经典性质——规定:如果所有正确进程提出相同值,则只能决策该值。弱有效性——另一个既定性质——规定:如果所有进程均正确且提出相同值,则必须决策该值。可能的有效性性质空间极为广阔。然而,它们对共识的影响仍不明确。本文探讨何种有效性性质允许拜占庭共识在部分同步条件下可解,以及需要何种代价。首先,我们确定使共识问题可解的有效性性质的充要条件;我们称此类有效性性质为可解性。值得注意的是,我们证明:若 $n \leq 3t$,所有可解的有效性性质均为平凡性质(存在始终可接受的决策)。此外,我们证明:对于任何非平凡(且可解)的有效性性质,共识需要 $\Omega(t^2)$ 条消息。这将最初针对强有效性证明的经典Dolev-Reischuk下界扩展至所有非平凡有效性性质。最后,我们提出一种通用拜占庭共识算法(称为Universal),适用于任意可解(且非平凡)的有效性性质。重要的是,Universal的消息复杂度为 $O(n^2)$。因此,结合我们的下界,Universal在部分同步条件下导出一个基本结论:当 $t \in \Omega(n)$ 时,所有(非平凡)共识变体具有 $\Theta(n^2)$ 的消息复杂度。