This repository hosts the current Ethereum proof-of-stake specifications. Discussions about design rationale and proposed changes can be brought up and discussed as issues. Solidified, agreed-upon changes to the specifications can be made through pull requests.
Core specifications for Ethereum proof-of-stake clients can be found in specs. These are divided into features. Features are researched and developed in parallel, and then consolidated into sequential upgrades when ready.
| Seq. | Code Name | Fork Epoch | Links |
|---|---|---|---|
| 0 | Phase0 | 0 |
Specs, Tests |
| 1 | Altair | 74240 |
Specs, Tests |
| 2 | Bellatrix | 144896 |
Specs, Tests |
| 3 | Capella | 194048 |
Specs, Tests |
| 4 | Deneb | 269568 |
Specs, Tests |
| 5 | Electra | 364032 |
Specs, Tests |
| 6 | Fulu | 411392 |
Specs, Tests |
| Seq. | Code Name | Fork Epoch | Links |
|---|---|---|---|
| 7 | Gloas | TBD | Specs, Tests |
| 8 | Heze | TBD | Specs, Tests |
- Stable reference tests are available as release assets.
- Unstable reference tests are available as nightly builds.
Install uv with:
curl -LsSf https://astral.sh/uv/install.sh | sh
Clone the repository with:
git clone git@github.com:ethereum/consensus-specs.git
Switch to the directory:
cd consensus-specs
View the help output:
make help
The following are the broad design goals for the Ethereum proof-of-stake consensus specifications:
- Minimize complexity, even at the cost of some losses in efficiency.
- Remain live through major network partitions and when very large portions of nodes go offline.
- Select components that are quantum secure or easily swappable for quantum-secure alternatives.
- Utilize crypto and design techniques that allow for a large participation of validators.
- Minimize hardware requirements such that a consumer laptop can participate.