Zeeka saysCasper FFG layers finality on any fork choice: validators vote on checkpoints, a 2/3 supermajority justifies one, and two consecutive justifications finalize.
Casper FFG (Friendly Finality Gadget) does not pick the chain head — it decides which blocks are final. Validators sign votes pointing from a source checkpoint to a target checkpoint. When 2/3 of staked weight votes for a target, it becomes JUSTIFIED. When the chain has two consecutive justified pairs, the source of the second pair becomes FINALIZED — irreversible unless 1/3 of stake commits provable byzantine behavior and gets slashed.
Eth runs FFG on top of LMD-GHOST. The demo simulates five epochs of validator votes; epochs that clear the 2/3 threshold get justified, and any justified epoch whose successor is also justified is marked finalized. Slashing rules (no double-vote, no surround-vote) keep the votes honest at the cost of the validator's stake.
Power-ups you unlock
Validators sign source → target checkpoint votes
2/3 stake voting for a target → target is JUSTIFIED
Two consecutive justified pairs → the source is FINALIZED
Reverting a finalized block requires ≥1/3 of stake to be slashed
Ethereum applies FFG on top of LMD-GHOST
The Collision attacks — common mistakes
Confusing justification with finalization — finalization needs two consecutive epochs
Forgetting double-vote and surround-vote slashing keep votes honest
Assuming finality is instant — current eth takes 2 epochs (≈12.8 min)
Mixing finality with fork choice — they are separate concerns
Boss battleSimulate validator votes across five epochs and identify which ones get justified and which finalized.