Skip to content

Releases: ethereum/consensus-specs

Chanoyu

08 Nov 15:26
58b291b
Compare
Choose a tag to compare

v1.1.5 -- Chanoyu -- is minor version release containing no substantive changes to mainnet released Phase 0 and Altair specs. Instead this is a minor iteration on the Kintsugi🍵 Merge specs.

PR showing full diff can be found here: #2717

Merge

Forkchoice

  • [minor fix] validate_merge_block uses correct block hash (#2710)

Validator

  • Add payload id as a return value to notify_forkchoice_updated (#2711)
  • [minor fix] Fixes TBH activation epoch check (#2712)

Testing, repo, etc

  • Refine validate_merge_block unit tests (#2713)

Mushin

02 Nov 18:05
e45d016
Compare
Choose a tag to compare

v1.1.4 -- Mushin -- is minor version release containing no substantive changes to mainnet released Phase 0 and Altair specs. Instead this is an iterative (and breaking) release of Merge specs.

v1.1.4 serves as the stable target for the Kintsugi🍵 Merge development sprint in November 2021.

Warning: Additional minor releases might be made throughout if/when issues are discovered during the sprint.

PR showing full diff can be found here: #2705

Merge

Beacon chain

  • Add TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH (#2682, #2707)
  • Remove Union from ExecutionPayload transaction type (#2684)
  • Fix gossip and tx size limits for the merge (#2686)
  • Update penalty params for Merge (#2698)
  • Remove gas validations from CL (#2699)

Forkchoice

  • Clarify call to pre-finalized notify_forkchoice_updated (#2681)
  • Clarify get_pow_block block-not-found case (#2676)

Validator

  • Remove prepare_payload (#2683)
  • State that validator must consider only fully validated blocks (#2703)
  • Update pow_chain to dict and reuse it instead of calling get_pow_block (#2694)

Networking

  • Remove extraneous Merge p2p condition (#2687)
  • Fix gossip and tx size limits for the merge (#2686)

Testing, repo, etc

  • Update remerkleable to v0.1.24 (#2674)
  • Run pytest with specific forks/phases and parallelize CI (#2678, #2679, #2688)
  • Set execution params to presets (#2702)

Protect Poutu-te-rangi

15 Oct 17:11
0eb3a86
Compare
Choose a tag to compare

Release

v1.1.3 -- Protect Poutu-te-rangi -- is minor version with additional critical Altair test vectors but with zero substantive changes to the Altair specification.

🙌 Huge shoutout to @potuz for identifying a series of critical Altair fork transition tests that were missing in the consensus vectors 🙌

All clients should run these test vectors immediately!

Additionally, there is iterative progress on Merge specifications. For current Merge interop, please continue to target v1.1.2. We'll batch Merge changes at the end of the month for a new interop target.

PR showing full diff can be found here: #2670

Merge

  • Remove notify_consensus_validated (#2660)
  • Specify format for --terminal-total-difficulty (#2645)
  • base_fee_per_gas to uint256 (#2661)

Testing, repo, etc

  • Add new Altair transition tests (#2664)

Astraios

08 Oct 06:51
6ef79b1
Compare
Choose a tag to compare

Release

v1.1.2 -- Astraios -- is minor version release that fixes some of the Altair and Merge test generators. All core specifications remain stable, but due to the additional Altair test vectors, it is critical that clients build and run these additional tests as soon as possible.

PR showing full diff can be found here: #2654

Testing, repo, etc

  • Fix test generator duplicate key issue (#2651)
  • Better error logging (#2648)

Is it an Ocean or a Sea?

04 Oct 11:10
ceb17a7
Compare
Choose a tag to compare

Release

v1.1.1 -- Is it an Ocean or a Sea? -- is minor version release focused on a couple of critical fixes to Merge interop specs (#2634, #2640).

Additionally, beacon state initialization for pure Altair testnets is modified with a minor fix. This does not affect Mainnet or any current testnet instantiations.

PR showing full diff can be found here: #2641

Altair

  • Fix initialize_beacon_state_from_eth1 previous_version (#2634)

Merge

  • Fix initialize_beacon_state_from_eth1 previous_version (#2634)
  • initialize_beacon_state_from_eth1 for pre-transition merge #2640

Testing, repo, etc

  • Run tests against future forks by default (#2635)
  • Minor typos, links, etc fixes (#2632, #2633, #2638)

The Great Machine

27 Sep 22:14
67fd797
Compare
Choose a tag to compare

Release

v1.1.0 -- The Great Machine -- is the mainnet release of Altair specs, including the epoch chosen for the planned mainnet upgrade on Oct 27, 2021 (#2625). This marks the first major upgrade to the Great Machine since genesis in late 2020.

Merge interop specs remain stable from v1.1.0-beta.5 other than the addition of the terminal blockhash override (#2617) [not required for initial interop] and some new consensus tests (#2630). Due to the inclusion of additional consensus test vectors, we recommend targeting v1.1.0 tests prior to initial interop.

PR showing full diff can be found here: #2631

Altair

  • Add ALTAIR_FORK_EPOCH for mainnet configuration (#2625)

Merge

  • Add terminal block hash override (#2617)

Testing, repo, etc

  • Add a number of Merge tests (#2630)
  • Add merkle proof test generator (#2629)
  • Remove deprecated pip.main() call in setup.py (#2623)

KIC 9832227

24 Sep 21:46
91f5e56
Compare
Choose a tag to compare
KIC 9832227 Pre-release
Pre-release

Release

v1.1.0-beta.5 -- KIC 9832227 -- is a minor release in preparation for initial Merge interop 🏺. Although we still expect much refinement and testing of specifications in the coming months, Merge specs have matured so that client teams now have a stable target.

Huge shoutout to @mkalinin and the many other contributors that have worked so hard getting the Merge specs into clean place for the next wave of engineering 🙏

Altair specifications remain entirely stable and are slated for a mainnet release in the coming days.

PR showing full diff can be found here: #2624

Merge

  • Verify terminal PoW block after call to state_transition (#2595)
  • Add extra_data field to the execution payload (#2606)
  • [bugfix] Fix random validation (#2609)
  • Set the value of the random field to the previous slot randao_mix (#2581)
  • Hardcode terminal total difficulty (#2605)
  • Update execution engine calls to match EIP and engine API where possible (#2613)
  • Remove extraneous merge gossip validation conditions (#2621)

Sharding

  • Remove beacon_block_root field from ShardBlob (#2615)

Testing, repo, etc

The Chandrasekhar Limit

10 Sep 02:48
e558618
Compare
Choose a tag to compare
Pre-release

Release

v1.1.0-beta.4 -- The Chandrasekhar Limit -- is a minor release that focuses on expanded test coverage (again!), along with a couple of minor iterations on the Merge spec.

Warning: To facilitate the testing of the scaled validator churn limit while avoiding the use of a >300k validator set, minimal config has been altered to reduce the CHURN_LIMIT_QUOTIENT. To our knowledge, minimal is not currently used for any testnets so shouldn't cause much issue, but be careful to port the config update to your testing infrastructure.

PR showing full diff can be found here: #2592

Merge

  • [non-substantive] Change transition_td to terminal_td in the merge spec (#2575)
  • Add TTD override setting (#2587)

Testing, repo, etc

  • Tests
    • Improve performance of randomized block tests (#2572)
    • Fix test_invalid_signature_bad_domain (#2583)
    • Add back in dropped eth1 voting tests (#2584)
    • Fix testing helper process_and_sign_block_without_header_validations (#2579)
    • Add test cases to ensure coverage with exited validators (#2580)
    • Fix fork choice on_block tests and update test format (#2577)
    • Add rewards spec test with exit in current epoch (#2588)
    • Add churn tests for when churn limit scales with v-set size (#2586)
    • Add sync committee tests with exited and withdrawable members (#2591)
    • Fix sync agg test for mainnet (#2594)
  • Add timing information to spec test generation (#2571)
  • Fix merge_mods in test generators (#2578)
  • Allow spec tests author to batch tests under one handler name (#2576)
  • Create SECURITY.txt (#2574)

Moon Rock Market

26 Aug 13:09
9be1e12
Compare
Choose a tag to compare
Moon Rock Market Pre-release
Pre-release

Release

v1.1.0-beta.3 -- Moon Rock Market -- is a minor release that focuses on expanded Altair test coverage, along with major improvements and refinements to the Merge and Sharding specs.

Massive shout-out to @ralexstokes for creating a framework for massively increasing block transition test coverage (#2567) 🐳💪

The Merge has been rebased on both London (#2533) and Altair specifications (#2530), and is now equipped with a first iteration of the p2p spec (#2531). With these core elements in place, the consensus Merge specs are ready for their next wave of client development.

Sharding saw a major redesign in its data market through the separation of block producers and builders. This shifts the economic responsibility of network data availability into the hands of well-incentivized, specialized actors called "builders". This aids in the democratization of shard-data MEV, reduces the bandwidth of data-tx gossip, and eases networking assumptions/requirements for validators. Nice work on this @protolambda 🙌

PR showing full diff can be found here: #2561

P.S. This release also included the Great Renaming (#2555) so there is a lot of noise in the diff. Our apologies for the one-time inconvenience 🙏

Phase 0

  • Fix fork choice store checkpoint inconsistency issue (#2518)

Altair

  • Rename the eth2_* functions to eth_* (#2536)

Merge

  • Add base merge p2p spec (#2531)
  • Rebase Merge spec with London (#2533)
  • Change base_fee_per_gas type to Bytes32 (#2550)
  • Minor typos, renames, and formatting (#2564)

Sharding

  • Shard builder <> proposer separation (#2486)
  • Minor typos, renames, and formatting (#2540, #2563, #2565)

Testing, repo, etc

  • Great renaming (#2555, #2557)
  • Rework and add some on_block tests (#2487)
  • Refactor sync committee tests (#2554)
  • Extend randomized block tests to all phases (#2559)
  • Add tests for the Altair BLS helpers (#2539)
  • Add test for exited validators during inactivity leak (#2542)
  • Add broad-spectrum randomized block tests (#2568)
  • Fix test-gen skip counter (#2567)

Mach'acuay

23 Jul 15:54
05d3ec2
Compare
Choose a tag to compare
Mach'acuay Pre-release
Pre-release

Release

v1.1.0-beta.2 -- Mach'acuay -- is a minor iteration on beta.1 including a tightening of sync gossip validations (#2528) and some more tests for sync aggregate edge cases (#2523).

Additionally, Merge transition conditions were tightened up to reduce PoW attack surface (#2522) and the Merge core logic was rebased to Altair (#2530).

Great work on the Altair devnets to all the engineers! Shoutout to @parithosh for leading that effort 🙌

PR showing full diff can be found here: #2529

Altair

Networking

  • Require sync committee contributions to have at least one participant (#2528)

Merge

  • Enforce terminal PoW block to be on the cusp (#2522)
  • Rebase the Merge onto Altair base functionality (#2530)

Sharding

  • Simplify get_start_shard function (#2488)

Testing, repo, etc

  • Add tests for SyncAggregate with no participants and all zero signature (#2523)
  • Bump remerkleable to v0.1.22 [CI speedup!] (#2524)