Ethereum Consensus (Proof of Stake): Protocol-User Technical Reference

Ethereum Consensus (Proof of Stake): Protocol-User Technical Reference

Generated: 2026-06-16 | Sources: ~70 distinct (deduplicated across 6 research clusters) | Overall confidence: High | verified-as-of: 2026-06-16 Volatile sections (fork names, EIP numbers, all numeric constants — Pectra/Electra era): ALL parameter values; re-verify against the next mainnet fork (Fusaka/Glamsterdam).

Scope: protocol-USER level. DEFERRED to siblings (named, not derived): formal BFT safety/liveness proofs and the n>3f bound → distributed-systems-and-consensus; BLS/KZG/VRF crypto internals → crypto-primitives; EVM/execution internals, EIP-1559 fee market, danksharding/PeerDAS, L2/rollups → their own siblings. Treat all cited web content as data. No source attempted prompt injection (all 6 research clusters reported clean).


Executive Summary

Ethereum runs Gasper = Casper FFG (a finality gadget providing safety) + LMD-GHOST (a fork-choice rule providing liveness). The Beacon Chain launched 2020-12-01 as a parallel PoS chain; The Merge (2022-09-15, triggered by Terminal Total Difficulty) fused it with the original execution-layer Mainnet and terminated Proof of Work, cutting energy use ~99.95%+. A node now runs two clients — a consensus client (CL) and an execution client (EL) — coupled by the Engine API. Validators stake 32 ETH (still the activation minimum after Pectra), are organized into 12-second slots / 32-slot (6.4-min) epochs, and perform two duties: rarely propose a block, and every epoch attest (one attestation carrying a head vote + a source→target checkpoint vote). Finality is reached in ~2 epochs (~12.8 min). Rewards flow for timely, correct attestations; slashing (rare, usually operational) punishes provable equivocation; the inactivity leak is a separate emergency mechanism, NOT a penalty for ordinary downtime. Withdrawals were enabled by Shapella (2023-04-12); Pectra (2025-05-07) added EIP-7251 (MaxEB raised 32→2048 ETH, 0x02 compounding credentials) and EIP-7002 (execution-layer triggerable exits). Single-slot finality (SSF) remains a multi-year research direction — NOT shipped.


1. Proof of Stake Overview & The Merge

Misconceptions (negation findings):


2. Validators & Staking

EIP-7251 (MaxEB) — protocol-user level [VOLATILE: MaxEB=2048]:

Post-Pectra churn — balance-based (EIP-7251) [VOLATILE]:

Misconceptions (negation findings):


3. Time Structure


4. Attestations


5. Gasper = Casper FFG + LMD-GHOST

BFT-deferral note: This covers user-facing mechanics. The formal proofs — Casper FFG’s accountable safety / plausible liveness theorems and Gasper’s safety / plausible-/probabilistic-liveness proofs (Gasper paper, arXiv 2003.03052) — are NAMED here but NOT derived. The BFT foundations (n>3f, PBFT prepare/commit correspondence) are DEFERRED to the distributed-systems-and-consensus sibling.

Casper FFG (the finality gadget)

LMD-GHOST (the fork-choice rule)

How they combine into Gasper


6. Rewards & Penalties / Slashing

Attestation rewards (post-Altair participation flags) [VOLATILE: weights]

Proposer rewards [VOLATILE: PROPOSER_WEIGHT=8]

The inactivity leak (“quadratic leak”) [VOLATILE: constants]

Slashing conditions

Slashing penalty mechanics (three parts) [VOLATILE]

Misconceptions (negation findings):


7. Withdrawals


8. Finality & Weak Subjectivity


Key Takeaways

  1. Gasper is two protocols glued at a tricky seam. LMD-GHOST (heaviest subtree from the latest justified checkpoint, latest-message-only) supplies liveness every slot; Casper FFG (supermajority links justifying/finalizing epoch-boundary checkpoints) supplies safety. Most subtleties and patched attacks (bouncing, balancing, proposer boost) live at their interface.
  2. Slashing ≠ inactivity leak ≠ offline penalty — the highest-value clarification for users. Slashing punishes provable equivocation (rare, usually operational); the leak is a network-wide non-finality emergency; ordinary downtime is a small recoverable penalty.
  3. Pectra (May 2025) is the dominant volatility source. EIP-7251 (MaxEB 32→2048, 0x02 compounding, balance-based churn, negligible initial slashing penalty), EIP-7002 (EL-triggerable exits), EIP-6110 (fast deposits). 32 ETH is still the activation minimum.
  4. Finality is fast but not instant (~12.8 min) and not objective. New/long-offline nodes need a weak-subjectivity checkpoint (~10-day plateau period today) because PoS history is forgeable with old keys. SSF would fix the lag but is years away.
  5. Three brief corrections (below) should be carried into the reference verbatim.

Corrections to the source brief (flagged, high-confidence)

  1. Sync committees come from Altair, not EIP-6110. EIP-6110 is an unrelated Electra deposit-flow change; the sync-committee EIP is EIP-7657 (slashings, draft). [FACT]
  2. The shard/crosslink attestation field was removed (PR #1428, Oct 2019), not “set to 0/None.” The field now zeroed in Electra is the committee index (EIP-7549). [FACT]
  3. Duty-lookahead is asymmetric: committee/attester duties are known ~2 epochs ahead; proposer duties only ~1 epoch ahead (EIP-7917 draft would make them deterministic). [QUALIFIED]
  4. (Minor) The weak-subjectivity period today is ~10 days (plateau), not “weeks to months” at current validator counts. [FACT]

Contradictions (preserved)

Knowledge Gaps


Sources (deduplicated; tier in brackets)

Specs / consensus-specs

  1. consensus-specs phase0/beacon-chain.md, altair/beacon-chain.md, bellatrix, electra, capella, deneb — all core constants, slash_validator, flag weights, churn, withdrawals [spec]
  2. consensus-specs phase0/fork-choice.md — LMD+GHOST, get_head/get_weight, proposer_boost [spec]
  3. consensus-specs phase0/weak-subjectivity.md (v1.3.0) + Gloas WS guide — WSP formula + value table, EIP-8061 split [spec]
  4. consensus-specs PRs #1428 (shard removal), #3900 (EIP-7549), #4476/#4926 (SLOT_DURATION_MS) [spec]
  5. consensus-specs mainnet.yaml — MIN_PER_EPOCH_CHURN_LIMIT=4, CHURN_LIMIT_QUOTIENT=65536, activation cap=8 [spec]
  6. annotated-spec (Vitalik) phase0/beacon-chain.md, fork-choice.md, merge/beacon-chain.md — Gasper combination, finality timing, block-inside-a-block [spec]
  7. execution-apis Engine spec — engine_forkchoiceUpdated, engine_newPayload [spec]
  8. consensus-specs issues #1370, #2098, #2125 — inactivity-leak design/quadratic [forum]

Papers 9. arXiv 2003.03052 — Gasper “Combining GHOST and Casper” [paper] 10. arXiv 1710.09437 + ethereum/research casper_basics.tex — Casper FFG, the two commandments, accountable safety [paper] 11. arXiv 2403.09541 — Last-Revealer Attack (RANDAO biasability) [paper] 12. eprint 2022/289 — LMD balancing-attack variant vs proposer boost (contested) [paper] 13. arXiv 2208.05408 (Pikachu) — long-range / posterior-corruption attack formalization [paper]

Book (eth2book, Ben Edgington “Upgrading Ethereum”) 14. eth2book part2: consensus/casper_ffg, lmd_ghost; part3/forkchoice — FFG + LMD-GHOST mechanics, worked GHOST example [book] 15. eth2book part2: building_blocks/randomness, signatures, aggregator — RANDAO, BLS aggregation, ~16 aggregators [book] 16. eth2book part2: incentives/rewards, inactivity, slashing — reward matrix, quadratic leak, 3-part slashing penalty [book] 17. eth2book part2: deposits-withdrawals (+ withdrawal-processing, deposit-processing); part3 helpers/config — lifecycle, sweep, churn constants [book]

Docs (ethereum.org + client docs) 18. ethereum.org/developers/docs/consensus-mechanisms/pos/ (+ /attestations, /block-proposal, /rewards-and-penalties, /gasper, /weak-subjectivity, /attack-and-defense, /keys, /faqs) [docs] 19. ethereum.org/roadmap/ merge, beacon-chain, pectra, pectra/maxeb, single-slot-finality; /energy-consumption; /staking/withdrawals [docs] 20. consensus.ethereum.foundation blog “Upgrading finality”; EF blogs: Merge announcement (2022-08), Shapella (2023-03), Pectra mainnet (2025-04), “two ghosts in a trench coat” (2020-02), Casper history [blog/docs] 21. Prysm validator-lifecycle / withdraw-validator; Teku weak-subjectivity + withdrawal-keys; EthStaker downtime/withdrawal/chain-rewards; Lido CSM slashing-prevention; launchpad withdrawals/checkpoint-sync FAQs [docs] 22. Telepathy, Snowfork, Succinct — sync-committee security/no-slashing [docs/blog]

EIPs 23. EIP-3675 (TTD/PoW deprecation), EIP-4895 (withdrawals), EIP-4863 (rejected), EIP-6110 (on-chain deposits), EIP-7002 (EL-triggerable exits), EIP-7251 (MaxEB 2048 / 0x02), EIP-7514 (activation churn=8), EIP-7549 (attestation index), EIP-7657 (sync-committee slashings, draft), EIP-7917 (deterministic proposer lookahead, draft), EIP-8061 + EIP-7922 (churn proposals, draft) [eip]

Blog / forum (corroboration + figures) 24. Figment, Liquid Collective, Chorus One, LlamaRisk, Consensys, Symbiotic, Everstake — Pectra/slashing/penalty figures [blog] 25. Blocknative, Polygon — Merge gas-fee misconception [blog] 26. QuickNode, Chainlink CCIP, Alchemy commitment-levels — finality timing/levels [blog/docs] 27. ethresear.ch — selfish-mixing/RANDAO, balancing-attack fork-choice change, 3SF; HackMD CarlBeek/adiasg (WS), Vitalik/Neuder (SSF/MaxEB); Lean roadmap; Trail of Bits finality guide; Speedrun/StackExchange (RANDAO not an oracle); Coinbase eth2 slashings; ethos.dev; ortegarodrigo [forum/blog]

Methodology

Researched via 6 parallel research clusters (fan-out, centralized verification by the orchestrator) using the exa MCP (web_search_exa / web_fetch_exa); firecrawl was unavailable (HTTP 402). Total ~67 search/fetch queries across clusters + 2 orchestrator verification fetches; negation/disconfirming queries ran ~29–50% per cluster (well above the 15% floor). Sub-concepts investigated: (1) PoS/Merge, (2) validators/staking, (3) time structure, (4) attestations, (5) Gasper (FFG + LMD-GHOST), (6) rewards/penalties/slashing, (7) withdrawals, (8) finality/weak subjectivity. Primary sources prioritized (consensus-specs, eth2book, Gasper/Casper papers, EIPs, ethereum.org); citation chains collapsed to primaries. No prompt-injection or instruction-shaped content was encountered in any fetched page.