{"id":13535851,"url":"https://github.com/ethereum/consensus-specs","last_synced_at":"2026-03-13T22:01:46.452Z","repository":{"id":37387577,"uuid":"149554797","full_name":"ethereum/consensus-specs","owner":"ethereum","description":"Ethereum Proof-of-Stake Consensus Specifications","archived":false,"fork":false,"pushed_at":"2025-07-09T21:20:14.000Z","size":24573,"stargazers_count":3746,"open_issues_count":34,"forks_count":1095,"subscribers_count":240,"default_branch":"master","last_synced_at":"2025-07-10T05:07:43.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethereum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-09-20T05:12:54.000Z","updated_at":"2025-07-09T21:19:51.000Z","dependencies_parsed_at":"2022-07-14T05:40:35.858Z","dependency_job_id":"e5220e12-7ec5-4df8-955f-4be8a81bc679","html_url":"https://github.com/ethereum/consensus-specs","commit_stats":{"total_commits":7132,"total_committers":197,"mean_commits":"36.203045685279186","dds":0.8121144139091419,"last_synced_commit":"cffd21823ae4277c5fa1bb2eb56648733aa8e621"},"previous_names":["ethereum/eth2.0-specs"],"tags_count":110,"template":false,"template_full_name":null,"purl":"pkg:github/ethereum/consensus-specs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fconsensus-specs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fconsensus-specs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fconsensus-specs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fconsensus-specs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethereum","download_url":"https://codeload.github.com/ethereum/consensus-specs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fconsensus-specs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265573597,"owners_count":23790468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T09:00:30.199Z","updated_at":"2026-03-13T22:01:46.447Z","avatar_url":"https://github.com/ethereum.png","language":"Python","readme":"# Ethereum Proof-of-Stake Consensus Specifications\n\n[![nightly-tests](https://github.com/ethereum/consensus-specs/actions/workflows/nightly-tests.yml/badge.svg?branch=master\u0026event=schedule)](https://github.com/ethereum/consensus-specs/actions/workflows/nightly-tests.yml)\n[![image](https://img.shields.io/pypi/v/eth-consensus-specs.svg)](https://pypi.python.org/pypi/eth-consensus-specs)\n[![image](https://img.shields.io/pypi/l/eth-consensus-specs.svg)](https://pypi.python.org/pypi/eth-consensus-specs)\n[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord\u0026logoColor=white)](https://discord.gg/qGpsxSA)\n\nThis repository hosts the current Ethereum\n[proof-of-stake](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/)\nspecifications. Discussions about design rationale and proposed changes can be\nbrought up and discussed as issues. Solidified, agreed-upon changes to the\nspecifications can be made through pull requests.\n\n## Specifications\n\nCore specifications for Ethereum proof-of-stake clients can be found in\n[specs](specs). These are divided into features. Features are researched and\ndeveloped in parallel, and then consolidated into sequential upgrades when\nready.\n\n### Stable specifications\n\n| Seq. | Code Name     | Fork Epoch | Links                                                                                   |\n| ---- | ------------- | ---------- | --------------------------------------------------------------------------------------- |\n| 0    | **Phase0**    | `0`        | [Specs](specs/phase0), [Tests](tests/core/pyspec/eth_consensus_specs/test/phase0)       |\n| 1    | **Altair**    | `74240`    | [Specs](specs/altair), [Tests](tests/core/pyspec/eth_consensus_specs/test/altair)       |\n| 2    | **Bellatrix** | `144896`   | [Specs](specs/bellatrix), [Tests](tests/core/pyspec/eth_consensus_specs/test/bellatrix) |\n| 3    | **Capella**   | `194048`   | [Specs](specs/capella), [Tests](tests/core/pyspec/eth_consensus_specs/test/capella)     |\n| 4    | **Deneb**     | `269568`   | [Specs](specs/deneb), [Tests](tests/core/pyspec/eth_consensus_specs/test/deneb)         |\n| 5    | **Electra**   | `364032`   | [Specs](specs/electra), [Tests](tests/core/pyspec/eth_consensus_specs/test/electra)     |\n| 6    | **Fulu**      | `411392`   | [Specs](specs/fulu), [Tests](tests/core/pyspec/eth_consensus_specs/test/fulu)           |\n\n### Unstable specifications\n\n| Seq. | Code Name | Fork Epoch | Links                                                                           |\n| ---- | --------- | ---------- | ------------------------------------------------------------------------------- |\n| 7    | **Gloas** | TBD        | [Specs](specs/gloas), [Tests](tests/core/pyspec/eth_consensus_specs/test/gloas) |\n| 8    | **Heze**  | TBD        | [Specs](specs/heze), [Tests](tests/core/pyspec/eth_consensus_specs/test/heze)   |\n\n### Accompanying documents\n\n- [SimpleSerialize (SSZ) spec](ssz/simple-serialize.md)\n- [Merkle proof formats](ssz/merkle-proofs.md)\n- [General test format](tests/formats/README.md)\n\n### External specifications\n\n- [Beacon APIs](https://github.com/ethereum/beacon-apis)\n- [Engine APIs](https://github.com/ethereum/execution-apis/tree/main/src/engine)\n- [Beacon Metrics](https://github.com/ethereum/beacon-metrics)\n- [Builder Specs](https://github.com/ethereum/builder-specs)\n\n### Reference tests\n\n- Stable reference tests are available as\n  [release assets](https://github.com/ethereum/consensus-specs/releases).\n- Unstable reference tests are available as\n  [nightly builds](https://github.com/ethereum/consensus-specs/actions/workflows/nightly-tests.yml).\n\n## Contributors\n\n### Prerequisites\n\nInstall [`uv`](https://docs.astral.sh/uv/) with:\n\n```\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n### Installation and usage\n\nClone the repository with:\n\n```\ngit clone git@github.com:ethereum/consensus-specs.git\n```\n\nSwitch to the directory:\n\n```\ncd consensus-specs\n```\n\nView the help output:\n\n```\nmake help\n```\n\n### Design goals\n\nThe following are the broad design goals for the Ethereum proof-of-stake\nconsensus specifications:\n\n- Minimize complexity, even at the cost of some losses in efficiency.\n- Remain live through major network partitions and when very large portions of\n  nodes go offline.\n- Select components that are quantum secure or easily swappable for\n  quantum-secure alternatives.\n- Utilize crypto and design techniques that allow for a large participation of\n  validators.\n- Minimize hardware requirements such that a consumer laptop can participate.\n\n### Useful resources\n\n- [Design Rationale](https://notes.ethereum.org/s/rkhCgQteN#)\n- [Phase0 Onboarding Document](https://notes.ethereum.org/s/Bkn3zpwxB)\n- [Combining GHOST and Casper paper](https://arxiv.org/abs/2003.03052)\n- [Specifications viewer (mkdocs)](https://ethereum.github.io/consensus-specs/)\n- [Specifications viewer (jtraglia)](https://jtraglia.github.io/eth-spec-viewer/)\n- [The Eth2 Book](https://eth2book.info)\n- [PySpec Tests](tests/core/pyspec/README.md)\n","funding_links":[],"categories":["Python","Useful Ethereum References","Smart Contract Platforms"],"sub_categories":["Consensus Layer"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethereum%2Fconsensus-specs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethereum%2Fconsensus-specs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethereum%2Fconsensus-specs/lists"}