Consensus from safety invariants

Develop crash-fault consensus through quorums, terms, logs, membership, and recovery rather than assuming a reachable majority proves correctness.

10 published lessons1 module261 min of guided study
  1. 01
    Consensus from safety invariantsadvanced · 10 lessons

Follow the path or begin with a question. Every lesson is open.

Your notebook0 of 10 lessons completed

Your place, at your pace. Progress is optional and saved only in this browser when available.

Inside this module

Each lesson includes an interactive lab

Consensus from safety invariants

Develop crash-fault consensus through quorums, terms, logs, membership, and recovery rather than assuming a reachable majority proves correctness.

  1. 01

    Consensus: keep agreement separate from progress

    State a crash-fault consensus contract and explain why a reachable majority is a resource for a protocol rather than a complete correctness proof.

    24 min
  2. 02

    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.

    26 min
  3. 03

    Raft elections: terms, durable votes, and log eligibility

    Explain how a candidate becomes leader while distinguishing one leader per term from the stronger property that future leaders retain committed history.

    25 min
  4. 04

    Replicated logs: match a prefix before extending it

    Trace AppendEntries consistency checks and conflict repair while distinguishing stored suffixes from committed state-machine history.

    25 min
  5. 05

    Commitment: preserve the current-term rule before applying

    Track last-log, commit, and applied indices and explain why Raft cannot commit an older-term entry merely by recounting its replicas.

    26 min
  6. 06

    Linearizable reads: prove authority and wait for application

    Trace a current-term commitment barrier, a fresh quorum confirmation, and an applied-index wait before serving a read without logging it.

    27 min
  7. 07

    Snapshots: preserve a committed prefix and its meaning

    Build and restore a snapshot with an applied boundary, term, membership, and retry metadata before discarding the corresponding log prefix.

    26 min
  8. 08

    Joint membership: require both configurations' quorums

    Trace the paper's joint-consensus transition and show why a majority of the union is not the required quorum predicate.

    27 min
  9. 09

    Crash recovery: an acknowledgement must survive its promise

    Audit durable terms, votes, entries, snapshot state, and storage ordering at each crash cut before counting acknowledgements.

    27 min
  10. 10

    Adversarial traces: check every partial execution

    Build replayable partition, delay, crash, and restart histories with safety oracles and explicit limits on explored executions.

    28 min
All engineering modules