- Acceptor
- One of the agents that may accept numbered proposals and whose durable state carries the algorithm's memory. A value counts as chosen only when a majority of acceptors have accepted the same numbered proposal.
- Learner
- An agent whose only job is to find out which value was chosen; learners never affect safety. In the implementation the elected leader also serves as the distinguished learner that informs the others.
- Proposal
- A pair consisting of a unique natural proposal number and a value. Numbers are totally ordered and drawn from per-proposer disjoint sets so that two proposers never issue proposals sharing a number.
- Chosen
- A proposal, and hence its value, is chosen when a single proposal with that value has been accepted by a majority of acceptors. Several proposals may be chosen over time, but P2 forces them all to carry the same value.
- Prepare request
- The phase 1 message carrying a number n. It asks each acceptor for a promise never again to accept a proposal numbered less than n, plus the highest-numbered proposal that acceptor has already accepted.
- Accept request
- The phase 2 message asking acceptors to accept proposal number n with value v. The value is either forced by the phase 1 responses or freely chosen when no responder reported any accepted proposal.
- P2c
- The invariant a proposer must maintain when issuing proposal number n with value v: some majority S of acceptors has accepted nothing numbered below n, or v is the value of the highest-numbered sub-n proposal accepted within S. Maintaining P2c is the algorithm's sole safety obligation.
- Distinguished proposer
- The single proposer elected to be the only one that tries to issue proposals, called the leader in the implementation. It exists purely to ensure progress, and its absence or duplication costs liveness but never safety.
- Instance
- One complete run of the consensus algorithm. The state machine implementation runs a sequence of instances, with the value chosen by instance i becoming the ith command, and gaps in the sequence filled by no-op commands.