🤖 AI Summary
Classical Lamport lower bounds for two-phase consensus in partially synchronous systems assume a minimum number of processes, yet practical protocols such as Egalitarian Paxos achieve two-phase decision-making with fewer processes—revealing an apparent contradiction rooted in the conflation of “consensus as an atomic object” and “consensus as a decision task.”
Method: This paper formally distinguishes these two modeling paradigms and derives tight lower bounds for each under Byzantine (f) and crash (e) fault models.
Contribution/Results: We establish that the minimal process requirement is max{2e + f − 1, 2f + 1} for consensus as an atomic object, and max{2e + f, 2f + 1} for consensus as a decision task. Both bounds are proven tight via constructive protocols that match them exactly. This resolves the theory–practice gap, provides the first precise and operationally meaningful characterization of the minimal process count for two-step consensus, and unifies foundational understanding across fault-tolerant distributed computing models.
📝 Abstract
A seminal result by Lamport shows that at least $max{2e+f+1,2f+1}$ processes are required to implement partially synchronous consensus that tolerates $f$ process failures and can furthermore decide in two message delays under $e$ failures. This lower bound is matched by the classical Fast Paxos protocol. However, more recent practical protocols, such as Egalitarian Paxos, provide two-step decisions with fewer processes, seemingly contradicting the lower bound. We show that this discrepancy arises because the classical bound requires two-step decisions under a wide range of scenarios, not all of which are relevant in practice. We propose a more pragmatic condition for which we establish tight bounds on the number of processes required. Interestingly, these bounds depend on whether consensus is implemented as an atomic object or a decision task. For consensus as an object, $max{2e+f-1,2f+1}$ processes are necessary and sufficient for two-step decisions, while for a task the tight bound is $max{2e+f, 2f+1}$.