I’ll be honest with you: I attempted to read the Yellow Paper four times before I actually finished it. The first three times, I opened the PDF, saw equations like Υ(σ, T) ≡ σ', and promptly closed it, convinced it was written for people far smarter than me.
The fourth time, I changed my approach entirely. Instead of trying to understand it linearly, I treated it like - “I don’t have an option but to understand this”. This post is the map I wish I’d had.
The document: Ethereum Yellow Paper (PDF). If the notation makes your eyes cross, the unofficialBeige Paper is a more readable, narrative version—use it as a companion when the formal spec gets dense.
Mindset Shift
How I started reading my thought process was “I will read page 1, understand it, then page 2…”, which ended up in frustration, confusion and eventually give up on page 5. It’s not a long document, just 18 pages, but it defeated me multiple times.
Then I changed my approach, and did it in phases -
- Phase 1: Skim everything, understand nothing
- Phase 2: Build context through history
- Phase 3: Create your mental map
- Phase 4: Deep dive with stupid questions (maybe start with ChatGPT)
- Phase 5: Verify against current reality
As a result, I developed a much clearer understanding of the technology and how it actually works. Let’s get into it.
Phase 1: The Cursory Glance
Goal: Familiarity, Not Understanding
Open the Yellow Paper. Give yourself exactly 45 minutes. Your ONLY goals:
- Count the sections (there are 11 + appendices)
- Notice recurring symbols (σ, μ, T, B appear everywhere)
- Identify what looks familiar (maybe gas? transactions?)
- Mark what looks terrifying (probably section 9)
Do NOT try to understand anything. Seriously.
Yellow Paper Structure Map
| Section | Theme | Description |
|---|---|---|
| 1-2 | “What is this thing?” | Philosophy and basics |
| 3 | “The language we’ll speak” | Notation definitions (CRUCIAL) |
| 4 | “The building blocks” | Accounts, transactions, blocks |
| 5-6 | “How things move” | Gas and transaction execution |
| 7-8 | “Creating and calling” | Contract creation and message calls |
| 9 | “The brain” | The EVM itself (most complex) |
| 10-11 | “Tying it together” | Block finalization |
| Appendices | “The reference manual” | Opcodes, gas costs, specifics |
After this first pass, close the document; and take some time to yourself.
Phase 2: The History Lesson
Why History Matters Enormously
Here’s what nobody tells you: the Yellow Paper is a living document that reflects 10+ years of evolution. Reading it without historical context is like reading a legal document amended 47 times without seeing the amendments.
The Critical Insight
The Yellow Paper describes the CURRENT state. But understanding WHY things are the way they are requires knowing what they USED to be.
Example: Validated SLOAD Gas Cost Evolution
The SLOAD opcode’s gas cost has changed several times as attack vectors and usability needs shifted. Here is the validated timeline:
| Era | Cost | Reason |
|---|---|---|
| Original (Frontier) | 50 gas | Initial estimate |
| Tangerine Whistle | 200 gas | DoS attack fix (EIP-150) |
| Istanbul | 800 gas | Still underpriced (EIP-1884) |
| Berlin | 2100 cold / 100 warm | Access lists introduced (EIP-2929) |
Sources: EIP-150, EIP-1884, EIP-2929
Without historical context, the numbers seem arbitrary. With it, the reasoning behind each change becomes clear.
Curious about how Ethereum has changed over the years? Take a stroll through the Ethereum Forks Timeline to see all the major forks and updates along the way.
Phase 3: The Mental Map
Two Layers: Consensus + Execution
Post-Merge Ethereum has a split personality. The Yellow Paper primarily covers the Execution Layer, but you need to understand both.
Consensus Layer (Beacon Chain)
What it does:
- Validator management (staking)
- Block proposer selection (random)
- Attestations and finality
- Slashing bad actors
- Provides randomness (PREVRANDAO)
Specification: Beacon Chain spec (NOT Yellow Paper)
Execution Layer (EVM)
What it does:
- Transaction processing
- Smart contract execution
- State management
- Gas calculation
- Account/storage handling
Specification: YELLOW PAPER (what we’re reading)
How They Connect
The Engine API ( specification here ) bridges Consensus and Execution layers, allowing them to communicate while remaining separate.
Notation Cheat Sheet
| Symbol | Meaning | In one line |
|---|---|---|
| σ (sigma) | World state | The full state of all accounts and storage |
| μ (mu) | Machine state | EVM runtime state (stack, memory, program counter, etc.) |
| T | Transaction | The thing being executed |
| B | Block | Block header / block context |
| Υ (Upsilon) | Transition function | “Apply transaction T to state σ; new state is σ′” |
| g | Gas | Remaining gas during execution |
Once you know these, expressions like Υ(σ, T) ≡ σ' start to read as: “the result of applying transaction T to state σ is the new state σ′".
Also, understand how the world state, EVM memory, and accounts are structured and interact in Ethereum. Follow the transaction lifecycle from validation, upfront gas cost, execution, to refund, including gas formulas; here you are gathering what you are understanding so far and listing down the questions you have.
Phase 4: The Stupid Questions
Ask stupid questions that you have to yourself, ask GPT to answer them with legitimate sources. If still you are stuck, reach out to me on X ( @0xCardinal ) or anyone you know can help you figure out the answer.
I myself have asked stupid questions, and since this is my blog, I am not going to show the worst ones, but the ones which are alright, but you are allowed to ask the worst ones; ask whatever questions you have that will eventually help you understand the technology better.
Some questions are -
- Why is base transaction gas exactly 21,000?
- Why does the EVM use 256-bit words?
- How is Gas calculated?
- How are the accounts structured?
- What is world state?
- What database is used to store this much data?
Research each one. The answers reveal Ethereum’s design philosophy.
At this point you will think that you have understood Ethereum working, but life is hard my friend. You will go into the world and realize that the yellow paper only talked about around 30 OPCODES, and there are 100s of them; and similar observations for other parts of the paper. So, now your learning will start.
Phase 5: Verify Against Reality
The Yellow Paper is updated, but not always immediately after hard forks. Always cross-reference with:
- EIPs (Ethereum Improvement Proposals) - The source of truth for changes
- execution-specs - Python specification (more current)
- Client implementations - What actually runs (Geth, Nethermind, etc.)
Verification Checklist
For any Yellow Paper claim, verify:
| Check | Source |
|---|---|
| Is this still true? | Latest EIPs |
| When did this change? | EIP history |
| What’s the current value? | Client code |
| Are there exceptions? | EIP specifications |
Resources for Verification
- eips.ethereum.org - All EIPs
- github.com/ethereum/execution-specs - Python spec
- evm.codes - Interactive opcode reference
- etherscan.io - See real transaction costs
And keep up with this for entire life, to keep yourself updated with the latest changes and vulnerabilities.
Now, I will give you some headstarts on the common gotchas you might encounter.
Common Gotchas
Gotcha 1: PoW vs PoS Confusion
The Yellow Paper was written for Proof of Work. Post-Merge changes:
| Concept | PoW (Historical) | PoS (Current) |
|---|---|---|
| Block producer | Miner | Validator |
| Selection method | Hash competition | Random selection |
| DIFFICULTY opcode | Mining difficulty | PREVRANDAO (random) |
| Block time | Variable (~13s avg) | Fixed (12s slots) |
| Finality | Probabilistic | Economic (2 epochs) |
Gotcha 2: Gas Costs Change
Never assume a gas cost is permanent:
| Opcode | Original | Current | Reason |
|---|---|---|---|
| SLOAD | 50 | 100/2100 | DoS protection |
| BALANCE | 20 | 100/2600 | State access |
| EXTCODESIZE | 20 | 100/2600 | State access |
| CALL | 40 | 100/2600 | State access |
Gotcha 3: New Opcodes Not in Old Papers
Recent additions you might not find in older versions:
| Opcode | Added In | Purpose |
|---|---|---|
| PUSH0 | Shanghai | Push zero (saves gas) |
See more at evm.codes .
I know this is going to be difficult, frustrating and time consuming, but trust me, it will be worth it.
I am assuming if you are reading my blog, you are also concerned about the security of the technology. So, to understand the security of the technology, you need to understand the technology better.
I will be writing more blogs on the Blockchain and Blockchain Security. So, stay tuned.
If you have any questions, feel free to reach out to me on X ( @0xCardinal ).
Ciao!