A book you can run
Ethereum, from scratch
One book, read in order. Part I designs the machine from a shared spreadsheet up to a programmable world computer; Part II shows it running; Part III walks every consequential upgrade in the order it shipped. Every chapter derives its idea from a concrete problem, carried by animations built to explain — not decorate.
Designing the machine
Build Ethereum from a shared spreadsheet up to a programmable, staked world computer — inventing each piece the moment you feel its absence.
Running it
The live clockwork: how a million validators with no leader agree every twelve seconds, how a fresh node catches up, and how clients actually keep the state on disk.
The upgrades, in order
Every consequential change to Ethereum, in the order it shipped — each one a problem the network hit, derived to its fix.
Every fork, every EIP
Ethereum's whole upgrade history, newest first. Highlighted EIPs open a full explorable; the rest link to the spec.
- Osaka CL · Fulu Dec 2025
Fusaka: PeerDAS lets nodes sample blob data instead of downloading all of it, and blob-parameter-only (BPO) forks raise capacity between full upgrades.
EIP-7594 PeerDAS — data availability sampling EIP-7823 Upper bounds for MODEXP EIP-7825 Transaction gas limit cap EIP-7883 ModExp gas cost increase EIP-7892 Blob-parameter-only (BPO) forks EIP-7917 Deterministic proposer lookahead EIP-7918 Blob base fee bounded by execution cost EIP-7934 RLP execution block size limit EIP-7939 CLZ opcode (count leading zeros) EIP-7951 secp256r1 precompile - Prague · Electra CL · Electra May 2025
Pectra: EOAs run code (7702), validators hold up to 2048 ETH, EL-triggerable requests.
EIP-2537 BLS12-381 precompiles EIP-2935 Historical block hashes in state EIP-6110 On-chain validator deposits EIP-7002 EL-triggerable withdrawals EIP-7251 Increase MAX_EFFECTIVE_BALANCE EIP-7549 Move committee index out of attestation EIP-7623 Increase calldata cost EIP-7685 General-purpose EL requests EIP-7691 Blob throughput increase EIP-7702 Set EOA account code EIP-7840 Blob schedule in EL config - Cancun · Deneb CL · Deneb Mar 2024
Blobs cut rollup costs ~10×; transient storage; the beacon root in the EVM.
EIP-1153 Transient storage (TSTORE/TLOAD) EIP-4788 Beacon block root in the EVM EIP-4844 Blob transactions (proto-danksharding) EIP-5656 MCOPY instruction EIP-6780 SELFDESTRUCT only same-tx EIP-7044 Perpetually valid voluntary exits EIP-7045 Wider attestation inclusion EIP-7514 Max epoch churn limit EIP-7516 BLOBBASEFEE opcode - Shanghai · Capella CL · Capella Apr 2023
Staked ETH can finally be withdrawn; PUSH0 lands.
- Paris · The Merge CL · Bellatrix Sep 2022
Proof-of-work is switched off; the beacon chain takes over.
- Gray Glacier Jun 2022
The last bomb delay before the Merge.
- Arrow Glacier Dec 2021
Single-purpose: difficulty bomb delay.
- Altair Oct 2021
First beacon-chain upgrade: sync committees, light clients.
- London Aug 2021
The fee market is rebuilt: a base fee, and a burn.
- Berlin Apr 2021
Gas-access repricing and the typed-transaction envelope.
- Beacon Chain CL · Phase 0 Dec 2020
Proof-of-stake genesis — runs in parallel, no execution yet.
Beacon chain / PoS genesis - Muir Glacier Jan 2020
Single-purpose: push back the difficulty bomb.
- Istanbul Dec 2019
Repricings, cheaper calldata, and the CHAINID opcode.
- Petersburg Feb 2019
Shipped with Constantinople; pulled EIP-1283 over reentrancy risk.
- Constantinople Feb 2019
Metropolis part two — CREATE2 and cheaper bit-ops.
- Byzantium Oct 2017
Metropolis part one — privacy precompiles and REVERT.
EIP-100 Average-block-time difficulty EIP-140 REVERT instruction EIP-196 alt_bn128 add/mul precompiles EIP-197 alt_bn128 pairing precompile EIP-198 Big-integer modexp EIP-211 RETURNDATASIZE / RETURNDATACOPY EIP-214 STATICCALL EIP-649 Difficulty bomb delay + 3 ETH reward EIP-658 Transaction status in receipts - Spurious Dragon Nov 2016
Replay protection and state-trie clearing after the DoS.
- Tangerine Whistle Oct 2016
Emergency gas repricing after the 2016 DoS attacks.
- Homestead Mar 2016
First planned upgrade; the network leaves beta.
- Frontier Jul 2015
Mainnet genesis — a bare, mining-only chain.
On the workbench
The path is being built deliberately, not dumped. Next mechanisms in the queue:
- The mempool & the EIP-1559 fee market
- The EVM: stack, memory, storage & a live opcode stepper
- Gas & metering: what every instruction costs
- Blocks, validation & the state transition
- Consensus: Proof of Stake, finality & fork choice
- Blobs (EIP-4844), statelessness & rollups
- Node sync: full, snap, light & checkpoint