Releases: ethereum/consensus-specs
Karanikomoru
v1.3.0-alpha.1
-- Karanikomoru -- is an alpha pre-release containing iterative improvements to Capella and 4844 in preparation for the next wave of R&D testnets.
Note: There are a number small changes under consideration for Capella and 4844. We expect another release soon, but want to provide a stable target in the meantime.
PR showing full diff can be found here: #3116
R&D
Withdrawals
- Add Gossip Topic
bls_to_execution_change
#3075 - Add note about packing BLS to execution changes into a block #3081
- Withdrawals without queues #3068
- Add note to Capella validator guide about BLS to execution change #3084
Sharding and 4844
- Remove signed blobs #3062 #3083
- Fix type error in the inputs to hash_to_bls_field() #3077
- Update
tx_peek_blob_versioned_hashes
to match tx type from fee market update #3027 - Explicitly mention old gossip validations for block #3091
- Add block and sidecar retrival by root #3089
- Fix latest_execution_payload_header field in eip4844 state upgrade #3106
- Clarify deprecation of beacon_block gossip topic in 4844 #3090
- Rebase EIP-4844 on Capella #3052
- Make
validate_blobs_sidecar
a gossip condition #3108 - Refactor verify_kzg_proof() to receive bytes (used in precompile) #3097
- Testing, formatting, and name changes #3101, #3110, #3119
Light client
- Clarify where LC proofs are rooted #3065
- Document how to derive fork context for LC gossip #3063
- Fix slot checks in light client p2p spec #3086
- Testing, formatting, and name changes #3061, #3064, #3067, #3072, #3066
Testing, repo, etc
Látigo Cepa
v1.3.0-alpha.0
-- Látigo Cepa -- is an alpha release containing withdrawal tests.
PR showing full diff can be found here: #3055
R&D
Withdrawals (Capella)
- Remove
fully_withdrawn_epoch
field fromValidator
#2998 #3029 - Add validator_index to Withdrawal #3050
Sharding and 4844
- Introduce
bytes_to_bls_field
helper #3015 - Fix
bit_reversal_permutation
helper's comment #3017 - Update
ExecutionPayload
with EIP-4844 fee market changes #3004 - Fix the notes of P2P-interface and the typo of validator guide #3019
- Fix type annotation #3021
- Modify
MIN_EPOCHS_FOR_BLOBS_SIDECARS_REQUESTS
to 18 days #3047 - EIP4844: couple beacon block and blob sidecar for p2p #3046
Testing, repo, etc
Ailuropoda melanoleuca
v1.2.0
-- Ailuropoda melanoleuca -- is a semi-major release containing all production mainnet Bellatrix specifications.
Additionally, work continues on various R&D specifications such as Withdrawals and 4844.
PR showing full diff can be found here: #2999
R&D
Withdrawals
Sharding and 4844
Testing, repo, etc
Green and Colorado
v1.2.0-rc.3
-- Green and Colorado -- is a release candidate for Mainnet Bellatrix. This release contains additional important Bellatrix consensus test vectors.
Note: TERMINAL_TOTAL_DIFFICULTY
was reassessed and confirmed on All Core Devs on 2022/8/18.
Note2: "Release candidate" (rc
) distinction will be held on releases until after the mainnet Bellatrix upgrade. Once Mainnet runs the rule-set defined here a non-rc
release will be made.
_PR showing full diff can be found here: #2977
Testing, repo, etc
- Add tests of processing objects of
N-2
fork version #2976
Rhone and Arve
v1.2.0-rc.2
-- Rhone and Arve -- is a release candidate for Mainnet Bellatrix. This release includes the Mainnet BELLATRIX_FOR_EPOCH
as well as the tentative TERMINAL_TOTAL_DIFFICULTY
. Additionally, it includes a small number of new Bellatrix tests as well as many R&D updates to withdrawals, light clients, and 4844/sharding.
Note: TERMINAL_TOTAL_DIFFICULTY
assessed and potentially adjusted to better target Sept 15, 2022, please monitor for further refinement releases.
Note2: "Release candidate" (rc
) distinction will be held on releases until after the mainnet Bellatrix upgrade. Once Mainnet runs the rule-set defined here a non-rc
release will be made.
_PR showing full diff can be found here: #2970
Bellatrix
- Merge mainnet ttd and bellatrix values #2969
- Opti-sync: How to apply latestValidHash when payload is INVALID #2954
- Opti-sync: Elaborate on why sync optimistically #2958
- Opti-sync: extend optimistic node definition #2955
R&D
Light client
- Allow light client to verify signatures at period boundary #2805
- Remove fork_version from LightClientUpdate #2916
- Allow LightClientUpdate with genesis finality #2924
- Allow passing redundant next_sync_committee #2927
- Root next_sync_committee in attested_header #2932
- Add LightClientBootstrap #2935
- Add functions for deriving light client data #2938
- Add LightClient(Finality|Optimistic)Update #2944
- Manually trigger LightClientStore force updates #2947
- Describe light client sync process #2951
- Define libp2p protocol for light client sync #280
Withdrawals
Sharding and 4844
- EIP-4844: Remove shard field from BlobsSidecar #2914
- Optimizing EIP-4844 block validation (using KZG proofs) #2915
- Executable EIP-4844 specs #2937
- WIP implementation of Danksharding #2792
Testing, repo, etc
Bopsten
v1.2.0-rc.1
-- Bopsten -- is semi-major version release candidate as we move into upgrading the long-standing public testnets for the Merge. There will be no breaking changes between this release candidate and the final v1.2.0
release unless late, unexpected issues are found in the testnet upgrades.
Additionally, this release contains a few important Phase 0 (thus affecting all phases) fixes, deprecations, and clarifications. Please review these and ensure software releases contain these updates prior to mainnet Bellatrix.
PR showing full diff can be found here: #2896
Phase 0
Beacon chain
- Add new DomainType for application usage with "internal" namespace #2884
Fork choice
- Remove equivocating validators from fork choice consideration #2845
- [Bugfix] Require fork choice to run before proposal #2878 #2897
- Update
PROPOSER_SCORE_BOOST
to 40 percent #2895
Validator
- Update 0x01 withdrawal credentials to balance update (no code exec) #2854
Networking
- Ignore subset aggregates #2847
- Ignore Aggregates Which Are Following the Wrong Finalized Checkpoint #2846
- Deprecate
BeaconBlocksByRange.step
#2856
Bellatrix
Fork choice
- Add
safe_block_hash
and set to Justified #2851 #2858 #2876 - Update PROPOSER_SCORE_BOOST to 40 percent #2895
Optimistic sync
- Optimistically import any post-merge block #2844
- Remove justified block from optimistic candidate conditions #2881
- Remove
INVALID_TERMINAL_BLOCK
#2891 - Remove API restrictions for optimistic sync #2869
R&D
Light client
Withdrawals
- A withdrawals push version #2836
Sharding and 4844
- Add CL specs for Shard Blob Transactions #2850
Testing, repo, etc
Umbenennen
v1.1.10
-- Umbenennen -- is minor version release for the Kiln v2 testnet. The only change for Bellatrix is a minor renaming to match to the engine API / Execution-layer (#2835).
Additionally, this release includes some light client housekeeping as well as the loosening of a gossip condition from REJECT
to IGNORE
(#2830). Shout-out to @arnetheduck for ensuring we don't create network level deadlocks and partitions!
PR showing full diff can be found here: #2839
Bellatrix
- [non-substantive] Rename
random
->prev_randao
#2835
Light client
Phase 0
Semantic Dispute
v1.1.9
-- Semantic Dispute -- is minor version release accompanying a breaking change to the Engine API semantics along with some minor refactors and new tests.
Additionally, this is the first release containing a full Optimistic Sync spec.
🎉Huge shoutout to @paulhauner, @ajsutton, and @mkalinin for formalizing this relatively complex, yet critical, piece of the Merge🎉
PR showing full diff can be found here: #2815
Bellatrix
- [non-substantive] Rename
receipt_root
->receipts_root
#2808 - Rename execute_payload to notify_new_payload #2817
- Add Optimistic Sync spec #2770 #2820
Light client
Testing, repo, etc
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