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).
翻译:拜占庭共识问题涉及美元进程, 其中t < n 可能存在错误且行为武断。 有三个属性是共识的特征:(1) 终止, 要求正确( 非违约) 程序最终作出决定, (2) 协议, 阻止它们决定不同的价值, (3) 有效性, 排除“ 不合理” 的决定。 但是, 什么是合理的决定? 强有力的有效性, 一个古典属性, 规定, 如果所有正确程序都提出相同的价值, 只有这个价值可以决定。 弱有效性, 另一个已确立的属性, 规定, 如果所有程序都是正确的, 它们都提出了相同的价值, 就必须确定价值。 可能的有效性属性空间是巨大的。 但是, 它们对于共识的影响仍然不明确。 本文解决的是, 有效性的特性允许比占地平坦的共识, 部分同步, 代价如何。 首先, 我们决定, 有效性的必要和充分的条件, 使共识问题能够解决; 我们说, 完全的( 半透明性, 任何不可争议性) 。 很明显, 我们证明, 如果是 3, 所有的不可撤销性有效性, 的特性是无效的, 并且 透明性, 。 ( 始终存在一个不透明性, 透明性决定。 ( 。