Paxos

Paxos Protocol

Computer Algorithm: To achieve agreement, one or more of the computers proposes a value to Paxos (Proposer). Consensus is achieved when a majority of the computers running Paxos agrees on one of the proposed values (Acceptor).

Paxos defines several different roles (from Sylladb):

  1. Proposers, who receive requests (values) from clients and try to convince acceptors to accept the value they propose.
  2. Acceptors, who accept certain proposed values from proposers and let proposers know whether a different value was accepted. A response from an acceptor represents a vote for a particular proposal.
    • Single acceptor. Multiple proposers will concurrently propose various values to a single acceptor. The acceptor chooses one of these proposed values (Understanding Paxos)
  3. Learners, who announce the outcome to all participating nodes.

consensus algorithm

From (understanding paxos)/6603 Lectures/martinfowler

Phase 0

Client asks a leader/proposer for a value.

Phase 1 (Prepare)

A proposer asks all the working acceptors whether anyone already received a proposal. If the answer is no, propose a value.

Phase 2 (Accept)

Pasted image 20221101000405.png

Resources

Paxos is a family of protocols for solving consensus in a network of unreliable or fallible processors.

Three phases.

What is Paxos Consensus Algorithm? Definition & FAQs | ScyllaDB