Skip to content

Releases: ethereum/consensus-specs

Bypass Capacitor

21 Feb 06:42
84fcfa8
Compare
Choose a tag to compare
Bypass Capacitor Pre-release
Pre-release

v1.3.0-rc.3 -- Bypass Capacitor -- is the fourth release candidate for the coming Capella upgrade.

This release brings one new edge-case test to Capella (#3264), migrates eip4844 references to the fork name "Deneb" (#3215), frees the Deneb blobs from block gossip (#3244) and adds new KZG API (#3236).

This release does not change Capella consensus logic.

PR showing full diff can be found here: #3263

Phase 0

  • [non-substantive] Add a note of on_attester_slashing handler to fork choice spec: #3221

Altair

  • [non-substantive] Simplify committee weight computation #3246

Capella

  • Add deposit+bls_change test #3264

Deneb

  • Migrate eip4844 references to Deneb #3215
  • Move excess data gas field to the end of execution payload #3218
  • Free the blobs -- decouple Block and Blob gossip and a minor fix of KZG specs #3244
  • Clarify the use of context bytes in all RPC methods in Deneb #3229
  • Cryptography
    • Add KZG multi-verify function #3236
    • Fix compute_quotient_eval_within_domain overflow #3256
    • Typo-fix/refactoring: #3260 #3262

Testing, repo, etc

  • Move experimental features to specs/_features folder #3248
  • Fix tests #3237
  • Typo fix #3251

Skiddo Salm

27 Jan 13:11
67c2f9e
Compare
Choose a tag to compare
Skiddo Salm Pre-release
Pre-release

v1.3.0-rc.2 --Skiddo Salm-- is the third release candidate for the coming Capella upgrade.

This release does not change Capella consensus logic.

PR showing full diff can be found here: #3234

R&D

4844

  • Polynomial commitments
    • Handle barycentric evaluation at roots of unity #3214
    • Make compute_kzg_proof() take bytes as input #3219
    • Remove mention of 0x0000 for serialised points #3223
    • All public methods take bytes as input and add explicit G1 validation #3224
  • Remove KZG point and blob validations in gossip #3217
  • Fix typo #3216

Light client

  • Add ExecutionPayloadHeader to LC data #3151

Testing, repo, etc

  • New Capella state transition tests and new Capella -> EIP-4844 fork transition tests #3227
  • Use Gwei for Withdrawal amount in mock-EE #3213
  • Fix typo #3220

Alpine Ibex

13 Jan 18:12
15eb331
Compare
Choose a tag to compare
Alpine Ibex Pre-release
Pre-release

v1.3.0-rc.1 -- Alpine Ibex -- is the second release candidate for the coming Capella upgrade.

This release contains one critical breaking change in relation to rc.0 -- use of GENESIS_FORK_VERSION in BLSToExecutionChange messages (#3206).

PR showing full diff can be found here: #3209

Capella

  • MUST use GENESIS_FORK_VERSION to sign BLSToExecutionChange message #3206

R&D

4844

  • [bugfix] Add historical_summaries setup to fork.md #3201
  • Clarify rate limit behavior for sidecar with zero blobs #3174

Light client

  • Add LightClientHeader wrapper #3190
  • minor typos, edits, etc #3198

Testing, repo, etc

  • Disable cache for CI runner and use specific mypy version #3199
  • Apply with_config_overrides to all phases #3121
  • Capella tests
    • Add BLSToExecutionChange test_invalid_previous_fork_version test case #3203
    • Add a process_bls_to_execution_change test case from staking-deposit-cli #3202

Accumulation

06 Jan 20:19
5f1b88f
Compare
Choose a tag to compare
Accumulation Pre-release
Pre-release

v1.3.0-rc.0 -- Accumulation -- is the first release candidate for the coming Capella upgrade.

Capella specs are now feature complete and expected to be stable unless an unexpected issue arises.

4844 specs have been rebased (#3181) to be built on full Capella functionality. This is reflected in the test suite.

PR showing full diff can be found here: #3192

Capella

R&D

Sharding and 4844

  • Rebase 4844 on Capella functionality #3181
  • BlobsSidecarsByRange: Change range lower bound to EIP4844_FORK_EPOCH #3163
  • Clarify BeaconBlockAndBlobsSidecarByRoot no blob available #3154
  • Handle unavailable data outside of prune window #3169
  • Signify compute_kzg_proof as a public method #3167
  • Move is_data_available check to fork-choice on_block #3185
  • minor typos, edits, etc #3188

Light client

  • Add block_to_light_client_header helper #3149

Testing, repo, etc

  • Ensure that no duplicate block hashes in sync/from_syncing_to_invalid test case #3187

Goat Star

14 Dec 19:38
faa9fea
Compare
Choose a tag to compare
Goat Star Pre-release
Pre-release

v1.3.0-alpha.2 -- Goat Star -- is an alpha pre-release containing iterative improvements to Capella and 4844 in preparation for the next wave of R&D testnets.

Note the feature addition of bounding the withdrawals sweep in Capella -- #3095. The rest is primarily config changes, clarifications, and minor fixes.

PR showing full diff can be found here: #3161

Phase 0

  • Deprecate phase 0-only versions of beacon_blocks_by_{range,root} #3014

R&D

Withdrawals

  • Clarify in docs that full withdrawals only apply to exited validators #3146
  • Bound the maximum number of validators considered for withdrawals per sweep #3095

Sharding and 4844

  • Remove optimistic sync mentions #3125
  • Update MAX_BLOBS_PER_BLOCK to 4 #3145
  • Update G2 trusted setup length to 65 #3156
  • Clarify that z should not be in the domain #3159
  • Minor typos, syntax, etc #3120, #3127, #3152, #3158

Light client

  • Pass blocks to LC data creation functions #3070

Testing, repo, etc

  • Proper EL block hash implementation in tests #3126
  • Add EIP4844 pylint and Mypy checks #3134
  • Cleanup explicit fork enumerations in tests #3107
  • Add tests to test sync aggregate's order of balance operation #3157
  • Minor formatting and other fixes

Karanikomoru

18 Nov 23:56
0edd021
Compare
Choose a tag to compare
Karanikomoru Pre-release
Pre-release

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

  • Update remerkleable to 0.1.25 #3069
  • Fix --preset-list argument and enhance error output #3111
  • Minor formatting and other fixes #3071

Lรกtigo Cepa

27 Oct 01:34
4c67744
Compare
Choose a tag to compare
Lรกtigo Cepa Pre-release
Pre-release

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 from Validator #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

  • Add partial withdrawal balance tests #3010
  • Fix typos #3023 #3039
  • Bump dep packages version and fix lint issues #3018 #3060
  • Add some Capella sanity tests #3024
  • Remove work-in-progress notes in Bellatrix specs #3033
  • Add Capella test vectors #3040

Ailuropoda melanoleuca

22 Sep 17:56
f8ae982
Compare
Choose a tag to compare

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

  • Modify hash_to_bls_field logic #2981
  • Fixing EIP-4844 function names #3005

Testing, repo, etc

  • Extend fork_choice test format with on_payload_info #2965
  • Add optimistic sync tests #2982
  • Add test_process_deposit::test_key_validate_invalid #2989
  • Update BLS test format: output null for invalid case #3001

Green and Colorado

18 Aug 18:59
30b66a1
Compare
Choose a tag to compare
Green and Colorado Pre-release
Pre-release

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

16 Aug 15:18
a865bf6
Compare
Choose a tag to compare
Rhone and Arve Pre-release
Pre-release

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

  • Partial withdrawals #2862
  • Fix Name Discrepancy (WITHDRAWAL_QUEUE_LIMIT) #2921

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

  • Tidy up README.md specs list #2903
  • Include Bellatrix p2p interface specs into pyspec #2930
  • Add summary diagnostics to spec test gen #2926
  • More execution payload tests and cleanup old ones #2961
  • A few more bellatrix tests #2962