Bumps the actions group with 4 updates: ruamel-yaml, [setuptools](https://github.com/pypa/setuptools), [pytest](https://github.com/pytest-dev/pytest) and [mypy](https://github.com/python/mypy). Updates `ruamel-yaml` from 0.18.11 to 0.18.12 Updates `setuptools` from 80.8.0 to 80.9.0 - [Release notes](https://github.com/pypa/setuptools/releases) - [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst) - [Commits](https://github.com/pypa/setuptools/compare/v80.8.0...v80.9.0) Updates `pytest` from 8.3.5 to 8.4.0 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.3.5...8.4.0) Updates `mypy` from 1.15.0 to 1.16.0 - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.15.0...v1.16.0) --- updated-dependencies: - dependency-name: ruamel-yaml dependency-version: 0.18.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: setuptools dependency-version: 80.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: pytest dependency-version: 8.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: mypy dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Ethereum Proof-of-Stake Consensus Specifications
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 |
In-development Specifications
| Seq. | Code Name | Fork Epoch | Links |
|---|---|---|---|
| 6 | Fulu | TBD | Specs, Tests |
Accompanying documents
External specifications
Additional specifications and standards outside of requisite client functionality can be found in the following repositories:
Reference tests
Reference tests built from the executable Python spec are available in the Ethereum Proof-of-Stake Consensus Spec Tests repository. Compressed tarballs are available for each release here. Nightly reference tests are available here.
Contributors
Installation and usage
Clone the repository with:
git clone https://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.