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
Part 5: Future
5.1
Introduction
5.2
Withdrawals
5.3
Data Availability Sampling
5.4
Distributed Validator Technology
5.5
Light Clients
5.6
Active Research Topics
Appendices
6.1
Staking
6.2
How to become a core dev
6.3
Reference
6.4
Glossary
One Page Annotated Spec
PDF
Contact me
Back
Contents
Next
Part 3: Annotated Specification
3.1
Introduction
3.2
Types, Constants, Presets, and Configuration
3.2.1
Custom Types
3.2.2
Constants
3.2.3
Preset
3.2.4
Configuration
3.3
Containers
3.3.1
Misc dependencies
3.3.2
Beacon operations
3.3.3
Beacon blocks
3.3.4
Beacon state
3.3.5
Execution
3.3.6
Signed envelopes
3.4
Helper Functions
3.4.1
Math
3.4.2
Crypto
3.4.3
Predicates
3.4.4
Misc
3.4.5
Participation flags
3.4.6
Beacon State Accessors
3.4.7
Beacon State Mutators
3.5
Beacon Chain State Transition Function
3.5.1
Execution engine
3.5.2
Epoch processing
3.5.3
Block processing
3.6
Initialise State
3.7
Fork Choice
3.7.1
Phase 0 Fork Choice
3.7.2
Bellatrix Fork Choice
3.8
Safe Block
Back
Contents
Next