Skip to content

LibraryConsensus2014Design paperCorpus record

In Search of an Understandable Consensus Algorithm

Raft. Diego Ongaro and John Ousterhout.

A strong leader accepts entries, replicates them in order, and commits only when a majority of the current term has stored them.

A reading of the public document. Not a copy of it, and not a claim about a later network that reused the name.

Most 'our own consensus' pitches are a broken Raft. Ask about the election restriction and the commit rule for entries from an older term.

The five-minute read

The defect

Paxos was correct and routinely mis-implemented. Raft separates leader election, log replication and safety so a reader can see which rule prevents a split brain.

The rule

A strong leader accepts entries, replicates them in order, and commits only when a majority of the current term has stored them.

How it is put together

Terms are numbered epochs. At most one leader per term. A follower rejects a log that does not continue its own. A candidate must have an up-to-date log to win an election.

Where the claim stops

Raft assumes a known set, or an explicit membership change.

One action, walked through

  1. Heartbeats keep the leader. Their absence starts an election.
  2. The leader appends a command and waits for a majority of matching stores.
  3. A new leader forces followers to match its log before taking new commands.
  4. Can a candidate with a stale log win?

The argument, unpacked

Why it is still on the desk

Most 'our own consensus' pitches are a broken Raft. Ask about the election restriction and the commit rule for entries from an older term.

After the text

etcd, Consul and many orderers ship Raft. A blockchain that needs Byzantine faults has left this paper.

What has to be true

  • Raft assumes a known set, or an explicit membership change.
  • It is not Byzantine. A malicious leader can lie to clients.
  • Randomised timeouts are a liveness trick, not a safety proof.

What happened after the paper

etcd, Consul and many orderers ship Raft. A blockchain that needs Byzantine faults has left this paper.

What to check before you use the idea

  • Can a candidate with a stale log win?
  • Is commit delayed for entries from previous terms?
  • How does membership change avoid two majorities?

Terms

Term
A numbered epoch with at most one leader.
Log matching
If two logs share an index and term, they share every earlier entry.

The problem the paper names

Paxos was correct and routinely mis-implemented. Raft separates leader election, log replication and safety so a reader can see which rule prevents a split brain.

What the design proposes

  • Terms are numbered epochs. At most one leader per term.
  • A follower rejects a log that does not continue its own.
  • A candidate must have an up-to-date log to win an election.

How the mechanism is specified

  • Heartbeats keep the leader. Their absence starts an election.
  • The leader appends a command and waits for a majority of matching stores.
  • A new leader forces followers to match its log before taking new commands.

What this page does not treat as proven

  • Raft assumes a known set, or an explicit membership change.
  • It is not Byzantine. A malicious leader can lie to clients.
  • Randomised timeouts are a liveness trick, not a safety proof.

Why a venture studio still reads it

Most 'our own consensus' pitches are a broken Raft. Ask about the election restriction and the commit rule for entries from an older term.

This is Blockchain Lab's reading of a public design paper. It is not the paper, not a copy of it, and not an offer of tokens, equity, custody or a partnership. Later network behaviour can diverge from the text. Nothing here is investment, legal or technical advice.

Research status: Design paper. Last reviewed: 1 October 2026. This is a reading of a public paper, not investment, legal or security advice.