advanced26 min studyLesson 242 in Engineering

Paxos: intersection carries information only with invariants

Trace a single-decree Paxos prepare and accept exchange, including persistent promises and the highest-accepted-value selection rule.

On this page

What you’ll understand

  • Calculate a lower bound on majority intersection.
  • Select a phase-two value from phase-one responses correctly.
  • Explain why persistent promises and accepted records are essential to the argument.

Two majorities overlap, but a common machine can vote for contradictory decisions unless the protocol constrains what it remembers and how later proposals use that memory. Single-decree Paxos makes those constraints explicit. We study one value slot, with unique ordered ballot numbers, correct acceptors, and crash-recovery storage. This is a foundation for replicated logs, not an instruction to build a production multi-decree implementation from three messages and a majority formula.

Why a shared acceptor is only the beginning

A proposal pairs a ballot number with one value. Ballots are globally unique and totally ordered, often represented by a counter and proposer identity with a defined comparison. The same ballot must never be reused for a different value. A value becomes chosen when the protocol's accepting quorum has accepted that proposal. This fact can be true even if the proposer crashes before reporting success, so a later proposer must preserve possibly chosen history rather than requiring an old client acknowledgement as evidence.

For the ordinary majority version, any preparing quorum intersects every accepting quorum. That shared acceptor is an information bridge only because it retains its accepted ballot and value and honors its promises. If it could forget them on restart, set intersection would remain mathematically true while the safety argument collapsed. Generalized quorum systems can use different phase-one and phase-two shapes, but their required cross-phase intersection and selection invariants must be proved; arbitrary small quorums cannot be substituted into the majority example.

∣Q1∩Q2∣≥∣Q1∣+∣Q2∣−n>0|Q_1\cap Q_2|\ge |Q_1|+|Q_2|-n>0
Q1 and Q2 are subsets of the same fixed n-acceptor universe. Two strict majorities have positive intersection by this cardinality bound. Counts are dimensionless; the inequality says nothing about durable records or which value must be proposed.↔ Scroll wide equations horizontally.

Prepare establishes a promise and collects history

A proposer begins with a fresh ballot and sends prepare requests. An acceptor that can promise that ballot records a promise not to accept lower ballots and reports its highest accepted proposal, if any. The promise and relevant records must survive a crash before the response is sent. Once the proposer has a qualifying set of responses, it chooses the value attached to the highest accepted ballot among them. It may choose a new proposed value only if none reports an accepted proposal for this slot.

The selection rule is deliberately conservative. An accepted proposal reported by one responder might never have reached a quorum, yet another earlier value might already have been chosen. The induction behind Paxos ensures the highest reported accepted proposal carries the value that must be preserved when a prior choice exists. Do not replace the rule with the most common reported value, the newest client request, or the proposer's preferred value. A quorum is not an informal opinion poll: ballots determine which reported history controls the next proposal.

b∗=max⁡{bi:response i reports an accepted proposal},vnext=v(b∗)b^*=\max\{b_i:\text{response }i\text{ reports an accepted proposal}\},\qquad v_{\rm next}=v(b^*)
This value-selection rule applies after valid phase-one responses for one slot under the Paxos invariants. Ballots are ordered identifiers, not times. If the set is empty, the proposer may select a new proposed value; otherwise it carries the value associated with the maximum accepted ballot.↔ Scroll wide equations horizontally.

Accept, learn, and retry without changing the meaning

In phase two the proposer asks acceptors to accept its selected ballot-value pair. An acceptor must reject a request below a promise it has already made. Accepted state is persisted before a positive acceptance response is allowed to count. Reaching the required accepting quorum chooses the value, while notifying a learner or client is a later observation. Competing proposers can repeatedly preempt each other with larger ballots, preserving safety while preventing progress. Stable proposer selection or suitable backoff addresses progress without weakening the selection rule.

The reliability lab can display a majority threshold, not this two-phase history. Choose Reset, explicitly set n=5 and k=2, predict three available acceptors, then Play or Step. Reset and explicitly set n=7 and k=3 for another four-voter majority. The lab does not reveal quorum membership identities, promised ballots, accepted values, or persistence. Use the numerical readout alongside a hand-written set intersection and response table; it cannot demonstrate that the highest-accepted-value rule was followed.

Carry forward an earlier accepted value

Five acceptors A through E use majority three. Ballot seven with value X was accepted by A, B, and C. A new proposer obtains valid prepare promises for ballot twelve from C, D, and E. C reports (7,X), while D and E report no accepted proposal.

  1. The earlier accepting quorum {A,B,C} and new preparing quorum {C,D,E} intersect at C. Their cardinality bound is 3+3−5=1, matching the visible intersection.

  2. Among the three prepare responses, the highest reported accepted ballot is seven, attached to X. Therefore the new proposal at ballot twelve must carry X, even if the proposer originally wanted Y and the original client never received a reply.

  3. If the selected ballot-twelve proposal is accepted durably by another majority, it chooses X again. A delayed ballot-seven acceptance request must be rejected by any acceptor that has promised twelve, preventing old work from ignoring the new phase-one constraints.

The result

Quorum overlap transports the accepted record, and the value-selection rule preserves X. Overlap without memory and selection would not establish this conclusion.

Explore the model

Interactive lab

Interactive lab · reliability

A quorum count is not an accepted-value table

Reset, explicitly set both n=5 and k=2, predict the majority readout, then Play or Step. For a fresh comparison Reset and explicitly set n=7 and k=3. This toy omits acceptor identities, ballot promises, phase-one reports, and chosen values.

A quorum count is not an accepted-value tableA replica count and a majority threshold, without a consensus protocol. Playback highlights fixed replica states. Having a majority alone does not establish linearizability, durability or failure independence. Current readings: Available replicas: 4 of 5; Majority needed: 3; Majority available?: Yes. All parameters are adjustable with the labeled controls below.Majority available · need 3 of 5Playback highlights fixed statesR1 · upR2 · upR3 · upR4 · upR5 · downCyan mark: majority threshold
AvailableUnavailableMajority threshold
Available replicas
4 of 5
Majority needed
3
Majority available?
Yes
t = 0 s

A replica count and a majority threshold, without a consensus protocol. Playback highlights fixed replica states. Having a majority alone does not establish linearizability, durability or failure independence. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forUse the lab for counts, then construct the actual intersecting sets and accepted-ballot table by hand; the animation does not run Paxos.

Check your understanding

A valid phase-one quorum reports accepted proposals (4,X), (9,Y), and none. What value must the proposer carry in its next higher-ballot phase-two proposal?

Try it yourself

Seven acceptors use majority four. Let Q1={A,B,C,D} and Q2={D,E,F,G}. Find the intersection and its lower bound. If D reports an accepted proposal but loses that record after acknowledging its new promise, which proof assumption has failed?

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Apply inclusion-exclusion to the common seven-node universe, then identify what makes the shared acceptor informative across a crash.

Compare with the solution

The intersection is {D}, and the bound is 4+4−7=1. D is the only common member in this example. Losing acknowledged promise or accepted state violates the stable-storage assumption that connects earlier acceptance to later preparation. The two sets still intersect, but the returning node can no longer supply or enforce the history the protocol requires. Availability counts alone cannot detect or repair this broken invariant.

Take it with you

  • Cross-phase quorum intersection needs persistent records to carry history.
  • The highest reported accepted ballot determines the phase-two value.
  • A chosen value and a client learning that fact are separate events.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.