Crypto Newbie / Simulators / Tendermint
Tendermint / CometBFT Consensus Simulator
Cosmos Hub, Osmosis, Celestia, Sei, Injective, dYdX v4 — every Cosmos-SDK chain uses Tendermint (now CometBFT) consensus. Unlike Bitcoin's probabilistic finality, Tendermint commits each block as final the moment 2/3+1 of voting power agrees. There is no reorg, ever. The trade-off: if 1/3+1 of validators go offline, the chain halts completely. This simulator walks through a single round with 4 validators so you can see exactly when each outcome triggers.
Validator set
| Validator | Voting power | Online | Prevote | Precommit |
|---|---|---|---|---|
| Validator A★ proposer | ||||
| Validator B | ||||
| Validator C | ||||
| Validator D |
This round's proposer: Validator A
Total VP
100
BFT threshold (>2/3)
> 66.67
Tendermint needs STRICTLY GREATER than 2/3 voting power at both prevote and precommit phases to commit a block. With 1/3+1 dishonest or offline, the chain HALTS rather than fork — by design.
The 4-phase round protocol
Each round: (1) a designated proposer broadcasts a new block. (2) Prevote — every validator votes yes/no/nil on the proposal. (3) Precommit — if >2/3 prevoted yes, validators broadcast precommits. (4) Commit — if >2/3 precommits arrive, the block is finalised. If any phase fails to hit >2/3, the round times out and the next round begins with the next proposer in the rotation. This entire flow happens in ~6 seconds on Cosmos Hub.
Why >2/3 and not >1/2
Classical BFT requires >2/3 because that's the threshold where any two quorums must overlap on at least one honest validator. If you only needed >1/2, an attacker controlling 1/3 could partition the network and convince two halves to commit different blocks (forks). With >2/3, two distinct >2/3 sets must share >1/3 honest validators who'd refuse to sign both — making forks mathematically impossible. The trade-off: if 1/3+1 are dishonest or offline, NO block can commit. The chain halts.
Halting vs forking — the philosophical choice
Bitcoin's design says 'whatever happens, the chain keeps moving' — even if that means temporary forks until the longest-chain rule resolves them. Tendermint's design says 'if we can't agree, we'd rather pause than commit potentially-conflicting state'. For consumer apps (DEXes, lending) this is great — your transaction is final instantly. For ideologically pure decentralisation, Bitcoin's never-halt model is preferred. Cosmos chains have halted multiple times in their history (Cosmos Hub once for 6 hours in 2019 due to a bug); Bitcoin has never halted.
Voting power weighting
Tendermint isn't validator-counting, it's voting-power-counting. A chain with 10 validators where one has 50% voting power and the others have ~5.5% each requires >2/3 of voting power, not >2/3 of validator count. The 50%-VP validator going offline alone halts the chain. This is why Cosmos chains distribute stake — concentration of voting power is a direct halting risk.
Frequently asked questions
+What's the difference between Tendermint and CometBFT?
CometBFT is just Tendermint Core's new name after the Tendermint team was acquired by Informal Systems. Same protocol, same code lineage, different governance organisation. All Cosmos-SDK chains now use CometBFT branding but functionally it's identical to Tendermint v0.34+.
+How fast is Tendermint compared to Bitcoin?
Tendermint blocks finalise in ~6 seconds with no reorg risk. Bitcoin blocks confirm every ~10 minutes but require ~6 confirmations (~1 hour) for high-value transactions due to reorg risk. So Tendermint is ~600× faster on practical finality, with the trade-off that it halts during heavy validator dropout vs Bitcoin's always-makes-progress design.
+Has a Cosmos chain actually halted?
Yes, several times. Cosmos Hub halted for ~6 hours in March 2019 due to a transaction-validation bug. Osmosis has paused multiple times for routing-related issues. Each halt requires coordination via Telegram/Discord among validators to deploy a patch. The 2/3+1 voting power has to be back online for the chain to resume. In practice, these halts are short (hours, not days).
+Why don't Ethereum and Bitcoin use Tendermint?
Ethereum has its own BFT-flavored consensus (Casper FFG + LMD-GHOST) that gives partial finality without full halting. Bitcoin's design predates BFT consensus protocols becoming practical at scale and prioritises censorship-resistance via PoW. Tendermint requires a known validator set — for Bitcoin's anonymous-miner ethos, that's unacceptable. For Ethereum's purpose-built validator set, BFT-flavored gives most of Tendermint's safety with better liveness.
+What happens in the simulator with the 'byzantine' preset?
Validator D (20% voting power) prevotes and precommits NIL instead of yes. The other 3 validators (80% total) still vote yes — enough to pass the >2/3 threshold (66.7%). The block commits. To halt the chain via byzantine behavior, you'd need 1/3+1 of voting power voting against — try editing the validator weights to give Validator D 34% and rerun to see the timeout outcome.