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)$。