Releases: ethereum/consensus-specs
Jingle Bellx
v1.1.8
-- Jingle Bellx -- is minor version release containing using the new code name -- Bellatrix -- as the next CL hard fork name. Plus, it adds some new Bellatrix fork test vectors.
PR showing full diff can be found here: #2778
Merge -> Bellatrix
All specs were modified with the new code name in #2774. The word "merge" is now mostly about the point of "merge transition".
It should be no substantive change in logic. Only the presets/configs renamings are as follows.
Beacon chain
- Rename preset items
INACTIVITY_PENALTY_QUOTIENT_MERGE
->INACTIVITY_PENALTY_QUOTIENT_BELLATRIX
MIN_SLASHING_PENALTY_QUOTIENT_MERGE
->MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX
PROPORTIONAL_SLASHING_MULTIPLIER_MERGE
->PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX
Fork
- Rename configuration items
MERGE_FORK_VERSION
->BELLATRIX_FORK_VERSION
MERGE_FORK_EPOCH
->BELLATRIX_FORK_EPOCH
Networking
- Rename configuration items:
GOSSIP_MAX_SIZE_MERGE
->GOSSIP_MAX_SIZE_BELLATRIX
MAX_CHUNK_SIZE_MERGE
->MAX_CHUNK_SIZE_BELLATRIX
Testing, repo, etc
- Enable Bellatrix fork tests in test generator (new test vectors): #2777
- Set RNG seed in
get_head
tests: #2776
Gingerbread House
v1.1.7
-- Gingerbread House -- is minor version release containing light-client sync protocol overhaul, fork choice rules fix, and new test vectors.
The light-client sync protocol was significantly simplified in #2746. This PR also changed the light client logic to track an "optimistic head". Note that it is still actively in development, and we will add more tests to cover more edge cases.
The fork choice rule proposer boost score calculation was fixed by correctly applying proposer score boost to ancestors of the boosted block (#2760). Thank @realbigsean for finding this issue! Also, we added some new fork choice rule ex-ante attack test cases (#2752).
This release should be non-substantive to the latest Kintsugi 🍵 except for the fork choice rule fixes.
PR showing full diff can be found here: #2771
Phase 0
Forkchoice
Altair
Light-client sync protocol
- Simplify sync protocol and update to calculate optimistic heads #2746
Merge
Forkchoice
- Bring more clarity to
notify_forkchoice_updated
calls #2745
Client settings
- Remove
specs/merge/client-settings.md
#2741
Sharding
- [bugfix] Fix
PRIMITIVE_ROOT_OF_UNITY
constant value #2754
Testing, repo, etc
Āina-kāri
v1.1.6
-- Āina-kāri -- is minor version release containing critical upgrades to the fork choice and a minor iteration on the Kintsugi🍵 Merge specs.
The critical fork choice upgrades include a finalization atomicity bugfix (#2727) which can only be exploited with >1/3 slashing and the long-awaited proposer score boosting (#2730) which patches up LMD-GHOST liveness issues.
For proposer score boosting, a PROPOSER_SCORE_BOOST
value of 70% is currently specified. A final tuning of this parameter might result in a +/- 10% modification in a subsequent release. We recommend building this feature immediately and begin deploying to testnets with the 70% value. If there is a change in this value, it will be known by the end of 2022 and well before the Merge.
The finalization atomicity bugfix (#2727) includes a flag for importing attestations included in blocks into the forkchoice regardless of attestation epoch and current time. The use of this flag and attestation import epoch restrictions are both under consideration. There is a chance minor details around this logic change in the coming weeks, but the core of the atomicity bugfix (and simplification) is not expected to see any change.
📣Massive shout-out to Nusret Taş, Joachim Neu, and David Tse of Stanford's Tse Lab for their invaluable work in not only identifying but remedying issues found in the forkchoice📣
PR showing full diff can be found here: #2733
Phase 0
Forkchoice
- [bugfix] Always atomically update justified and finalized in
store
#2727 - Proposer LMD Score Boosting #2730
Merge
Beacon chain
- [non-substantive] Rename
coinbase
tofee_recipient
#2728 - [non-substantive] Rename
is_merge_*
tois_merge_transition_*
#2738
Forkchoice
- [non-substantive] Remove
difficulty
fromPowBlock
#2720
Validator
- Add handling for exceptional genesis TTD case #2719
- [bugfix] Fix
get_pow_block_at_terminal_total_difficulty
and add unit tests #2726
Testing, repo, etc
Chanoyu
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
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
fromExecutionPayload
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
todict
and reuse it instead of callingget_pow_block
(#2694)
Networking
Testing, repo, etc
Protect Poutu-te-rangi
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
touint256
(#2661)
Testing, repo, etc
- Add new Altair transition tests (#2664)
Astraios
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
Is it an Ocean or a Sea?
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
The Great Machine
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
KIC 9832227
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 slotrandao_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 fromShardBlob
(#2615)