Upgrading Ethereum
  • Search
  • Contents
  • Preface
  • Part 1: Building
    • 1.1 Introduction
    • 1.2 Goals
    • 1.3 Making the Sausage
  • Part 2: Technical Overview
    • 2.1 Introduction
    • 2.2 The Beacon Chain
    • 2.3 Consensus
    • 2.4 The Progress of a Slot
    • 2.5 The Progress of an Epoch
    • 2.6 Validator Lifecycle
    • 2.7 Deposits and Withdrawals
    • 2.8 The Incentive Layer
    • 2.9 The Building Blocks
    • 2.10 Networking
    • 2.11 Implementation
  • Part 3: Annotated Specification
    • 3.1 Introduction
    • 3.2 Types, Constants, Presets, and Configuration
    • 3.3 Containers
    • 3.4 Helper Functions
    • 3.5 Beacon Chain State Transition Function
    • 3.6 Initialise State
    • 3.7 Fork Choice
    • 3.8 Safe Block
  • Part 4: Upgrades
    • 4.1 Hard forks
    • 4.2 Upgrade History
    • 4.3 The Merge
  • Appendices
    • 5.1 Staking
    • 5.2 How to become a core dev
    • 5.3 Running the spec
    • 5.4 Glossary
  • One Page Annotated Spec
  • PDF
  • Contact me
Back Contents Next

Part 2: Technical Overview

  • 2.1 Introduction
  • 2.2 The Beacon Chain
  • 2.3 Consensus
    • 2.3.1 Preliminaries
    • 2.3.2 Overview
    • 2.3.3 LMD Ghost
    • 2.3.4 Casper FFG
    • 2.3.5 Gasper
    • 2.3.6 Issues and Fixes
    • 2.3.7 Weak Subjectivity
  • 2.4 The Progress of a Slot
  • 2.5 The Progress of an Epoch
  • 2.6 Validator Lifecycle
  • 2.7 Deposits and Withdrawals
    • 2.7.1 Making a Deposit
    • 2.7.2 The Deposit Contract
    • 2.7.3 Deposit Processing
    • 2.7.4 Withdrawals
  • 2.8 The Incentive Layer
    • 2.8.1 Staking
    • 2.8.2 Balances
    • 2.8.3 Issuance
    • 2.8.4 Rewards
    • 2.8.5 Penalties
    • 2.8.6 Inactivity leak
    • 2.8.7 Slashing
    • 2.8.8 Diversity
  • 2.9 The Building Blocks
    • 2.9.1 BLS Signatures
    • 2.9.2 Curve BLS12-381
    • 2.9.3 Randomness
    • 2.9.4 Shuffling
    • 2.9.5 Committees
    • 2.9.6 Aggregator Selection
    • 2.9.7 SSZ: Simple Serialize
    • 2.9.8 Hash Tree Roots and Merkleization
    • 2.9.9 Generalised indices and Merkle proofs
    • 2.9.10 Sync Committees
  • 2.10 Networking
  • 2.11 Implementation

Copyright © Benjamin Edgington. Licensed under CC BY-SA 4.0. Published 2026-01-13 15:38 UTC. Commit e013f03.

Back Contents Next