What is checkpoint?

A block that the network treats as settled, after which reversing it requires more than out-competing later blocks.

Not yet verifiedHow we verify

3 min read

In this entry

A block that the network treats as settled, after which reversing it requires more than out-competing later blocks.

The word carries three different meanings and it is worth reading which one is intended. On Ethereum it is a specific consensus object. On some other chains it means a periodic hash written to a different chain as an anchor. In node software it can simply mean a state snapshot a new node syncs from instead of replaying history.

The Ethereum sense is the one that affects a buyer, because it changes what "settled" means for a deposit. Crediting after finality is a materially stronger guarantee than crediting after a fixed number of blocks.

How it works

Ethereum divides time into 12-second slots and groups 32 slots into an epoch, roughly 6.4 minutes (source: the ethereum.org proof-of-stake documentation). The first block of each epoch is a checkpoint.

Validators vote on checkpoints rather than on every block. When more than two thirds of staked ETH votes for a checkpoint, it becomes justified. When a later checkpoint is justified directly on top of it, the earlier one becomes finalized. Under normal conditions that is a matter of minutes rather than hours.

Reversing a finalized checkpoint is not a question of building a longer chain. It would require validators controlling at least a third of all staked ETH to have voted for conflicting checkpoints, and the protocol destroys the stake of validators caught doing so. The cost is denominated in slashed ETH rather than in electricity.

If the chain fails to finalize for more than four epochs, an inactivity leak begins draining the stake of validators not participating, until the remaining active set is large enough to finalize again.

Example

Illustrative. An exchange credits Ethereum deposits after finality rather than after a block count. Your transaction is included in a block partway through an epoch. It waits for the rest of that epoch, then for the next checkpoint to be justified, then for the one after that to justify it into finality. In practice that is on the order of 13 minutes, two epochs, rather than the 12 seconds the block itself took. A venue crediting after 12 blocks would show the funds sooner, with a weaker guarantee.

Why it matters when you buy

Deposit crediting rules explain most of the gap between "my transaction confirmed" and "my balance updated". A venue that waits for finality is making a defensible security choice, not being slow. Requirements differ by asset and venue, and the exchange pages note deposit handling where it is published.

epoch — the 32-slot window checkpoints bound; finality — what a finalized checkpoint delivers; slot — the 12-second unit underneath; validator — who votes; slashing — the penalty that makes reversal expensive.

Questions

How long until an Ethereum transaction is final?

Finalization normally takes two epochs from the checkpoint that follows inclusion, which works out to roughly 13 minutes. It is not instant, and it is far stronger than a comparable wait on a proof-of-work chain.

Is a finalized transaction absolutely irreversible?

It is irreversible without an attacker accepting the destruction of at least a third of all staked ETH. That is an economic guarantee rather than a mathematical one, but it is a much harder bar than out-mining a chain.

Why do some chains write checkpoints to another blockchain?

To borrow the other chain's security. A sidechain with modest validator resources can periodically publish a hash of its state to a larger chain, so reversing history requires rewriting the larger chain too.