Tendermint Consensus Explained
Tendermint is a Byzantine Fault Tolerant (BFT) consensus protocol used by many proof‑of‑stake chains. It combines deterministic finality with a clear round‑based structure, making it popular for permissioned and permissionless networks with a known validator set per epoch.
Below is a practical overview, plus a colored comparison table to highlight where data availability, ordering, finality, and execution occur.
Tendermint in one paragraph
Tendermint runs in rounds with a single proposer per round. Validators exchange Prevote and Precommit messages to decide on a block. If a validator sees enough matching precommits (2f+1), the block is finalized. When the network is unstable, timeouts trigger a move to the next round.
Core phases
- Propose: the proposer suggests a block.
- Prevote: validators vote on the proposed block (or nil if they reject).
- Precommit: validators confirm their prevote choice. Block height is fundamental — consensus progresses one height at a time, and each height must be finalized before moving to the next.
- Commit: with 2f+1 precommits, the block finalizes.
Key tradeoffs
- Fast finality: blocks are final once committed — no reorgs under assumptions.
- Higher messaging overhead: round-based voting means more messages than PoW.
- Partial synchrony: liveness depends on eventual network stability.
- Strong safety: tolerates up to f Byzantine validators in n >= 3f + 1.
Where each responsibility happens
| Responsibility | Tendermint (BFT) |
|---|---|
| Data availability | At proposal + gossip before prevote locks |
| Ordering | Defined per round by the proposer’s block |
| Finality | At 2f+1 precommits (deterministic) |
| Execution | After commit, deterministic and immediate |
| What is "consensus" here? | Prevote + Precommit quorum for a single block |
| Failure handling | Timeouts + round changes if proposer is faulty |
Tendermint vs. PBFT (quick intuition)
- Similar: both are BFT with deterministic finality and round-based voting.
- Different: Tendermint formalizes timeouts and locking rules that work well for blockchain block production.
Summary
Tendermint is a practical BFT protocol with strong finality and a clean mental model. It shines when you have a known validator set and want fast, irreversible blocks. The cost is higher coordination overhead and reliance on partial synchrony.