Releases: ethereum/consensus-specs
Elekid
v1.5.0-alpha.0
-- Elekid -- is the alpha release for the coming Electra upgrade.
Thank you all for helping with this baby Electra release! 🐣
PR showing full diff can be found here: #3675
Phase 0
- [networking] Align
seen_ttl
with attestation lifetime #3627
Deneb
- [non-substantive] Clarify
voluntary_exits
gossip topic after Capella #3651
Electra
Miscs
- Update Electra config #3632
- Init Electra (EIP6110 + EIP7002) #3615
- Add EIP-7549 to Electra #3653
- Track blob gas when upgrading to Electra #3665
- Add EIP-7251 to Electra #3668
- EIP-7002/7251: clarify pending partial withdrawals handling #3679
EIP-6110
- Rename
get_eth1_deposit_count
function #3629
EIP-7002
- Bugfix when processing execution layer exit request #3660
- Some clean ups from merging EIP-7002 into Electra #3666
EIP-7251
- Increase
MAX_EFFECTIVE_BALANCE
#3618 - Fix bug in
get_active_balance()
#3637 - Rename PartialWithdrawal field #3643
- Use
MIN_ACTIVATION_BALANCE
instead ofMAX_EFFECTIVE_BALANCE
#3647 - Remove extra
queue_excess_active_balance
call #3654 - Fix EIP-7251 tests #3656
- Rename
get_churn_limit()
for clarity #3676 - Enforce Activation Rate Limit at Fork Transition #3659
- Fix off-by-one in churn computations #3682
EIP-7549
- Move committee index outside Attestation #3559
- Clarify network vs on chain aggregation #3628
- Flatten
aggregate_bits
#3631 - Enable EIP-7549 on CI by #3640
- Misc changes #3636 #3657
- Fix
has_sufficient_effective_balanc
computation #3658 - Clarify electra validator spec with EIP7549 #3669
- Add
AttesterSlashing
to modified containers #3674
Experimental
EIP7594 (PeerDAS)
- Check for degree overflow in
multiply_polynomialcoeff()
#3619 - Add PeerDAS protocol #3574
- Use
FIELD_ELEMENTS_PER_EXT_BLOB
inNUMBER_OF_COLUMNS
#3662
Testing, repo, etc
- Update
single_merkle_proof.md
test format docs #3635 - Remove wip messages on shipped forks #3646
- Typo fixes #3645
- Add EIP7549 aggregation logic in testing tool #3649 #3680
- Add EIP-7549 tests and Electra random tests #3670
- Remove duplicate deposit processing tests #3678
- Fix electra tests and enable testgen #3681
- Fix broken exit tests due to change in the churn computation by #3690
- Fix tests by #3691
Delivery at Dawn
Denebian Whale
v1.4.0-beta.7
-- Denebian Whale -- is a beta release for the coming Deneb upgrade.
This release sets the mainnet Deneb fork epoch (DENEB_FORK_EPOCH
) value.
Note that to be cautious, we still use the beta pre-release to avoid any last-minute updates. We will bump to v1.4.0 right after the mainnet fork is activated.
PR showing full diff can be found here: #3598
Phase 0
Beacon chain
- Handle
integer_squareroot
bound case #3600
Deneb
- Schedule Deneb for Mainnet #3597
EIP-7594 (PeerDAS)
- [Cryptography] Optimization: reduce
len()
calls inadd_polynomialcoeff
helper #3581 - [Cryptography] Public methods must accept raw bytes #3579
- [Cryptography] Initial refactor of
recover_polynomial()
#3591
Testing, repo, etc
Psychrolutes marcidus
v1.4.0-beta.6
-- Psychrolutes marcidus -- is a beta release for upcoming Deneb devnets.
This release adds new field g1_monomial
to the trusted setup file. It can be found at the upstream. The latest sha256
checksum: f8e44a31ebf0a6d0734dcb301b0716e2c77f3ae18ed0cab0870fbcc2ca55616f
PR showing full diff can be found here: #3578
Phase 0
Fork choice
- Confirmation rule prerequisite - fork choice filter change #3431
Networking
- Align gossip validation for aggregates with single attestations #3552
- Use fork choice to determine
finalized_checkpoint
in gossip validation #3543
Light client
- Refactoring #3569, #3571
- Rename
_INDEX
generalized index constants to_GINDEX
#3537, #3563 - Gossip additional
LightClientFinalityUpdate
on new supermajority #3549 - Use types for representing LC Merkle branches #3563
SSZ
- byte type and canonical JSON mapping #3506
Whisk
- Add WHISK fork only tests #3442
EIP-7594 (WIP - still in its early stages)
Testing, repo, etc
Serve It Up
v1.4.0-beta.5
-- Serve It Up -- is a beta release for upcoming Deneb devnets.
#3551 clarifies when a client can be unblocked on serving beacon blocks and blob side cars. Although this will help clients conform to a more optimal behaviour, it is not a breaking change (v1.4.0-beta.4
can be transparently swapped and interop with v1.4.0-beta.5
).
_PR showing full diff can be found here: #3554
Phase 0
- Clarify when clients can serve blocks in byRoot RPC methods #3551
Deneb
- Clarify when clients can serve blocks and sidecars in byRoot RPC methods #3551
- [non-substantive] Remove unused
DOMAIN_BLOB_SIDECAR
#3542 - [non-substantive] Remove
SignedBlobSidecar
refs from p2p spec #3541 - [non-substantive] Move
blob_sidecar_{subnet_id}
to "Blob subnets" section #3556
Testing, repo, etc
Prove It
v1.4.0-beta.4
-- Prove It -- is a beta release for upcoming Deneb devnets. Note, this contains a substantial breaking change to how Blobs are sent around on the p2p (#3531, #3540) and is expected to delay the next devnet(s) by a few weeks as clients incorporate (largely simplifying!) changes.
Shout-out to @terencechain and @potuz for re-opening the conversation about how Blobs are sent around on the p2p and massive shout-out 🙏 to @fradamt for suggesting the utilization of BeaconBlockHeaders
and merkle proofs to allay the ongoing concerns.
_PR showing full diff can be found here: #3536
Phase 0
- Allow honest validators to reorg late blocks #3034
Deneb
- Reject blobs which reference already finalized parent blocks #3529
- Add blob sidecar inclusion proof and other relevant p2p changes #3531 #3540
- Suggest sidecars by root callers verify blob sidecars #3535
- [non-substantive Clarify not to invalidate valid and available (wrt blobs) blocks #3526
- [non-substantive] Update block production description in validator doc to more precisely reflect the latest flow #3533
- [non-substantive] Remove
BLOB_TX_TYPE
from spec (and move to tests) #3534
The Summoning
v1.4.0-beta.3
-- The Summoning -- is a beta release for the upcoming Deneb devnet-10 and potentially beyond.
Shout-out to @tbenr for identifying a critical blob gossip condition late in the game! 🙌
PR showing full diff can be found here: #3523
Deneb
EIP-4844
- Change minimal preset
FIELD_ELEMENTS_PER_BLOB
to4096
and use the mainnet KZG ceremony trusted setup output #3521 - Add new gossip rule to REJECT sidecars with
index >= MAX_BLOBS_PER_BLOCK
#3525
Experimental R&D
Whisk
- Use
add_validator_to_registry
in whisk #3486
Testing, repo, etc
Flow Control Valve
v1.4.0-beta.2
-- -- is a beta release for the upcoming Deneb devnet-9 and potentially beyond. It introduces EIP-7514, which applies the maximum activation churn limit. Additionally, it adds a fork-choice rule proposer boost adjustment.
Special thanks to @wenceslas-sanchez for making contributions via the EPF program.
PR showing full diff can be found here: #3504
Phase0
- [Fork choice] Apply proposer boost to the first block in case of equivocation #3352
Deneb
EIP-7514
Experimental R&D
Whisk
- Move non-preset values to config #3482 #3485
- Do not mutate candidates during cooldown #3483
- Pin
curdleproofs
package dependency tov0.1.1
#3495
Testing, repo, etc
- [New test vectors] Add Deneb fork choice tests #3463
- [Test vectors paths update] Rename BLS/KZG suite name #3484
- Fix redundant SSZ generic tests #3468
- Fix test generator multiprocessing mode bug #3473
- Fix
verify_blob_kzg_proof_batch
test format description #3471 - Remove old warnings for in-development specs #3494
- Typo fixes: #3476 #3503
- Fix link to libp2p Yamux specification #3493
Sagittarius A*'s Superhot Bizarre Gaseous Globule
v1.4.0-beta.1
-- Sagittarius A*'s Superhot Bizarre Gaseous Globule -- is a beta release for the upcoming Deneb devnet-8 and potentially beyond. Deneb is stable other than the "data gas" -> "blob gas" renaming (#3461).
Additionally, a number of additional Deneb tests have been added (#3459, #3457, #3464), some small iterations made in R&D EIPs, and a handful of build/CI refactors.
PR showing full diff can be found here: #3465
Deneb
- EIP-4844
- EIP-7045
- Fix and reward fork transition test #3464
Experimental R&D
- EIP-7002: Execution layer triggerable exits #3349
- WHISK: Fix some nits in whisk spec #3452
- EIP-6914: Update the equivocating indices in the fork-choice store #3446
Testing, repo, etc
Consensus Specs: Tim's Vision
v1.4.0-beta.0
-- Consensus Specs: Tim's Vision -- is the first beta
release for the upcoming Deneb upgrade. The move from alpha
to beta
signifies that Deneb is considered to be feature complete and not intended to change substantively from here. That said, there may still be minor patches, configuration changes, bug fixes, and (unlikely, but possible) feature removals.
EIP 4788, 7044, and 7045 are added to the Deneb build in this release. It is expected that devnets will shift to being fully featured (rather than just 4844) in the coming weeks.
PR showing full diff can be found here: #3437
Phase 0
- [non-substantive] Add
add_validator_to_registry
function to modularize for future upgrades #3311
Deneb
- EIP-7044: Lock voluntary exit domain on capella #3288
- EIP-7045: Increase max attestation inclusion slot #3360
- EIP-4788: Expose parent beacon block root in EL #3421