Skip to content

Releases: ethereum/consensus-specs

Denebian Whale

15 Feb 19:29
2c0fcee
Compare
Choose a tag to compare
Denebian Whale Pre-release
Pre-release

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 in add_polynomialcoeff helper #3581
  • [Cryptography] Public methods must accept raw bytes #3579
  • [Cryptography] Initial refactor of recover_polynomial() #3591

Testing, repo, etc

  • Add py.typed file for mypy #3588 #3594
  • Add EIP-7514 higher-churn-limit-to-lower tests #3602

Psychrolutes marcidus

18 Jan 16:40
7402712
Compare
Choose a tag to compare
Psychrolutes marcidus Pre-release
Pre-release

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)

  • EIP-7594: Add cryptography specs for sampling #3557, #3583

Testing, repo, etc

  • Pyspec refactoring #3562, #3567
  • Pyspec dockerization #3477, #3573
  • Consider fork transitions when using get_sync_aggregate #3572
  • Add guard when fill_prev_epoch is True in epoch 0 by #3570
  • Add transition test case of non-empty pre-state historical_roots #3585

Serve It Up

04 Dec 18:33
ffa95b7
Compare
Choose a tag to compare
Serve It Up Pre-release
Pre-release

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

  • Fix FC tests by removing extra tick #3548
  • Ensure on_tick precondition time >= store.time in fork-choice tests #3550
  • Add randomized block blob_kzg_commitment_merkle_proof cases #3555

Prove It

02 Nov 19:55
4de1d15
Compare
Choose a tag to compare
Prove It Pre-release
Pre-release

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

18 Oct 17:20
820f62d
Compare
Choose a tag to compare
The Summoning Pre-release
Pre-release

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 to 4096 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

18 Sep 17:32
ff9963f
Compare
Choose a tag to compare
Flow Control Valve Pre-release
Pre-release

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 to v0.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

31 Jul 15:40
4149133
Compare
Choose a tag to compare

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
    • Add test cases to execution payload processing #3459
    • More deneb 4844 tests #3457
    • Rename "data gas" to "blob gas" #3461
  • 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

  • Auto manage SpecBuilder prev fork inheritance #3436
  • Refactor setup.py #3393
  • Upgrade wheel, pip, and setuptools with make install_test #3443
  • Add --fork-list arg to testgen #3456

Consensus Specs: Tim's Vision

23 Jun 14:35
0d4aef4
Compare
Choose a tag to compare
Pre-release

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

Experimental R&D

Whisk

Testing, repo, etc

  • Lock doctoc version #3429
  • Remove manual workflow branch input #3439

Magpie Bridge

12 Jun 18:55
0682b22
Compare
Choose a tag to compare
Magpie Bridge Pre-release
Pre-release

v1.4.0-alpha.3 -- Magpie Bridge -- is an alpha release for the coming Deneb upgrade.

PR showing full diff can be found here: #3418

It increases BLOB_SIDECAR_SUBNET_COUNT to 6 for the incomingโ„ข๏ธ Dencun devnet.

Deneb

  • Update BLOB_SIDECAR_SUBNET_COUNT to 6 in line with max blobs limit update and add it to config #3416

Testing, repo, etc

  • Rework the markdown files path loader logic #3412
  • Update pyspec dependency #3414 #3415

Trumpeter Swan

09 Jun 18:41
ff24b49
Compare
Choose a tag to compare
Trumpeter Swan Pre-release
Pre-release

v1.4.0-alpha.2 -- Trumpeter Swan -- is an alpha release for the coming Deneb upgrade.

PR showing full diff can be found here: #3411

It increases MAX_BLOBS_PER_BLOCK to 6 for the next Dencun devnet.

Deneb

  • Update MAX_BLOBS_PER_BLOCK to 6 and add Deneb networking configs to yaml files #3410
  • [non-substantive] Remove assert from is_data_available #3404
  • [non-substantive] De-duplicate range references in BlobSidecarsByRange #3162
  • [non-substantive] specially mark EIP4844 changes #3406

Experimental

Whisk

Testing, repo, etc

  • Ensure make lint resolves to the right pylint and mypy versions #3409
  • Clean up and simplify networking configs GOSSIP_MAX_SIZE and MAX_CHUNK_SIZE setting #3394