Skip to main content

Ethereum consensus layer specifications package

Project description

Ethereum Proof-of-Stake Consensus Specifications

tests image image Discord

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.

Specifications

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.

Stable specifications

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

Unstable specifications

Seq. Code Name Fork Epoch Links
7 Gloas TBD Specs, Tests
8 Heze TBD Specs, Tests

Accompanying documents

External specifications

Reference tests

Contributors

Prerequisites

Install uv with:

curl -LsSf https://astral.sh/uv/install.sh | sh

Installation and usage

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

Design goals

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.

Useful resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eth_consensus_specs-1.7.0a10.tar.gz (9.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eth_consensus_specs-1.7.0a10-py3-none-any.whl (9.8 MB view details)

Uploaded Python 3

File details

Details for the file eth_consensus_specs-1.7.0a10.tar.gz.

File metadata

  • Download URL: eth_consensus_specs-1.7.0a10.tar.gz
  • Upload date:
  • Size: 9.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for eth_consensus_specs-1.7.0a10.tar.gz
Algorithm Hash digest
SHA256 6fb6c9a78275625362ef4fda5bf90eefce9b406f62d36a51c359abe0c668a7a9
MD5 9107ecad28441b53a01610d36cf119c5
BLAKE2b-256 d13527649b79592986fcc34fc929af4c0e5862661f902cb45391851f5a633f85

See more details on using hashes here.

Provenance

The following attestation bundles were made for eth_consensus_specs-1.7.0a10.tar.gz:

Publisher: release.yml on ethereum/consensus-specs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eth_consensus_specs-1.7.0a10-py3-none-any.whl.

File metadata

File hashes

Hashes for eth_consensus_specs-1.7.0a10-py3-none-any.whl
Algorithm Hash digest
SHA256 19f8ade876e0af0cdd30ddc0f2a3421e3e499ac0fab9305161cc1564c5790d14
MD5 803fbd0d9b5a5bfa0102e1625dba2854
BLAKE2b-256 918dc892faa116cb5461a9de4dac96293f78eed49df0645ca6835377f474b4be

See more details on using hashes here.

Provenance

The following attestation bundles were made for eth_consensus_specs-1.7.0a10-py3-none-any.whl:

Publisher: release.yml on ethereum/consensus-specs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page