Research · Ethereum
Finality
Last reviewed 2026-09-21Source: Ethereum Consensus Specs (Phase 0) and ethereum.org finality documentationMechanism descriptions only; no reorg-frequency or uptime figures are claimed.
Checkpoints, justification and finalisation
Ethereum does not finalise every block. It finalises checkpoints, which are the first block of each epoch, and it does so in two stages. A checkpoint becomes justified when two-thirds of the total staked weight attests to it as a target with a source that is itself justified. A justified checkpoint becomes finalised when a later checkpoint is justified with the first one as its source. The two-stage progression is what makes the guarantee cumulative: a finalised checkpoint has a justified descendant, and the pair together cannot be reverted without a validator having signed two conflicting messages.
The reason the guarantee is strong is that reverting a finalised checkpoint would require a validator to have attested to two conflicting chains. That is precisely the offence slashing punishes, and the correlation penalty makes it expensive in proportion to the number of validators involved. An attacker who wanted to revert a finalised checkpoint would therefore need to control enough stake to finalise a conflicting chain and would lose a large fraction of that stake in the process. The cost is designed to exceed any plausible gain.
The two-stage structure also means that finality lags the head of the chain. A block can be included and built upon long before the checkpoint that contains it is finalised, and during that window the block is subject to the fork-choice rule rather than to finality. An application that credits a deposit should therefore wait for the checkpoint containing it to be finalised, not merely for the transaction to appear in a block.
Reorg limits
| Case | Possible? | What it requires |
|---|---|---|
| Reorg of the head | Yes | A competing block with more attestation weight; happens routinely when two proposers publish near-simultaneously |
| Reorg of a recent non-justified block | Yes, within limits | Enough attestation weight to outweigh the current head, bounded by the fork-choice rule |
| Reorg past a justified checkpoint | Only with a slashable offence | A conflicting justification, which requires validators to have signed two conflicting attestations |
| Reorg past a finalised checkpoint | Only with a large slashable offence | A conflicting finalised chain, which requires a supermajority of stake to equivocate and lose its bond |
Last reviewed 2026-09-21Source: Ethereum Consensus Specs, Phase 0 — Fork ChoiceThe fork-choice rule and the role of justification are specified; the case descriptions summarise them.
Short reorgs are a normal part of the design rather than a failure of it. When two validators propose blocks for the same slot, or when attestations propagate unevenly, the network can briefly disagree about the head, and the fork-choice rule resolves the disagreement by weighting attestations. The losing block is discarded and its transactions are typically included in the winning chain shortly afterwards. A user who observes a reorg of one or two blocks has seen the mechanism working, not a security event.
The fork-choice rule itself is a weight-based rule rather than a longest-chain rule. It follows the chain with the greatest attestation weight, subject to the constraint that it will not contradict a justified checkpoint. That constraint is what gives finality its force: once a checkpoint is justified, the fork-choice rule will not select a chain that conflicts with it, so a competing chain cannot win by accumulating weight alone. It would have to produce a conflicting justification, which is the slashable offence.
The comparison with Bitcoin is worth stating carefully. Bitcoin's settlement is probabilistic: a transaction's assurance grows with the number of confirmations, and there is no depth at which a reorg becomes impossible in principle, only increasingly implausible. On Ethereum the depth of a possible reorg is bounded instead by the most recent finalised checkpoint. Blocks above that checkpoint can still be reorganised, and the further a block sits above it the more attestation weight a competing chain would need to overturn it, but the bound is a structural one rather than a matter of diminishing probability. Past the finalised checkpoint there is no depth at which a reorg becomes merely unlikely, because the fork-choice rule will not select a conflicting chain at all.
What happens when finality stalls
Finality depends on two-thirds of the staked weight being online and agreeing. If enough validators are offline that the threshold cannot be reached, the chain continues to produce blocks and to extend, but it stops finalising. Transactions still execute and still appear in blocks; what is lost is the guarantee that those blocks cannot be reverted. The chain is live but not final.
The protocol's response to a stalled finality is the inactivity leak described on the staking rewards page. The penalty for being offline escalates with the duration of the outage, draining the balances of the absent validators until the remaining online stake exceeds the two-thirds threshold and finality resumes. The mechanism is deliberately uncomfortable: it makes an extended outage costly for the validators causing it, and it means the network recovers without any manual intervention or governance decision.
The trade-off this design makes is worth naming. Ethereum's finality is a stronger guarantee than probabilistic settlement, and it depends on a liveness assumption that Bitcoin's does not: a supermajority of the stake must be online for the guarantee to hold. Bitcoin's assurance degrades gracefully as hash rate is lost, because the remaining miners keep extending the chain and the difficulty adjusts. Ethereum's assurance is binary — finalised or not finalised — and the protocol's response to losing it is to penalise the absent until they return or their stake is consumed.
Sources and references
The justification and finalisation rules, the fork-choice rule and the inactivity response described above are taken from Ethereum's consensus specification.
- Finality explained. ethereum.org, Proof-of-stake — Finality: how a checkpoint becomes justified and then finalised, and what a finalised checkpoint guarantees.
- The fork-choice rule. Ethereum Consensus Specs, Phase 0 — Fork Choice: the weight-based rule and the constraint that it must not contradict a justified checkpoint.
- The beacon-chain state and checkpoint structure. Ethereum Consensus Specs, Phase 0 — The Beacon Chain: the justified and finalised checkpoint fields carried in the state.
- Bitcoin's probabilistic settlement, for comparison. Bitcoin Developer Reference, Block Chain: confirmations accumulate assurance rather than producing a final state.
Related reading
- Research HubEvery dataset on the site, with methodology and provenance.
- Altcoin ResearchAltcoins measured against Bitcoin: design intent, consensus, execution, scaling and market structure.
- The ETH-BTC Correlation RecordHow the correlation is measured, how it behaves across windows, and where it breaks down.
- The ETH/BTC RatioWhat the ratio measures, how to read its trend, and why it is not a forecast.
- ETH During Bitcoin Bull PhasesAssociation within a common market factor, and what co-movement cannot establish.
- ETH During Bitcoin Bear PhasesDrawdown depth and duration compared over identical windows, and the limits of the comparison.