Engineering / advanced
Consensus from safety invariants
Develop crash-fault consensus through quorums, terms, logs, membership, and recovery rather than assuming a reachable majority proves correctness.
Your route through engineering
Follow the path or begin with a question. Every lesson is open.
Your place, at your pace. Progress is optional and saved only in this browser when available.
Read / explore / reason
Inside this module
Module 01 advanced
Consensus from safety invariants
Develop crash-fault consensus through quorums, terms, logs, membership, and recovery rather than assuming a reachable majority proves correctness.
- 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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
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