5311 Commits

Author SHA1 Message Date
Danny Ryan
14212958d3
Merge pull request #3288 from dapplion/voluntary_exit-domain
EIP-7044: Lock voluntary exit domain on capella
2023-06-14 09:26:33 -06:00
Hsiao-Wei Wang
420f8baf67
Rework tests. Move all process_voluntary_exit tests to Deneb 2023-06-14 23:04:46 +08:00
Lion - dapplion
12fabf5854
Update specs/deneb/beacon-chain.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-06-14 16:47:17 +03:00
Hsiao-Wei Wang
210c4827bc
Move BLOB_SIDECAR_SUBNET_COUNT to networking config 2023-06-12 23:57:21 +08:00
gajinder
512d2ca516 Update blob side car subnet count to 6 in line with max blobs limit update 2023-06-12 20:24:22 +05:30
Hsiao-Wei Wang
99f294cdd8
Add link to EIP PR7044. Need to change it to eips.ethereum.org path once the EIP is merged 2023-06-12 16:02:28 +08:00
Hsiao-Wei Wang
4f839b7b79
Merge branch 'dev' into pr3288-comment 2023-06-12 15:51:52 +08:00
Paul Harris
5576d0e685
Moved configuration into network preset instead of constants. (#3394)
* Moved configuration into network preset instead of constants.

Now that `MAX_CHUNK_SIZE` and `GOSSIP_MAX_SIZE` are in configuration, we no longer need separate constants to represent them in the spec when they change in Bellatrix.

I've changed the usage, and put the values into the presets, but I'm not sure if I've updated the descriptions in the best way...

This is following on from the work in #3375 where a number of constants got moved into configuration, so we no longer need these constants to be separately represented, they can simply be updated in presets.

* Update presets/minimal/bellatrix.yaml

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>

* Update presets/mainnet/bellatrix.yaml

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>

* Moved preset items into the correct section and updated TOC.

It looked like the items listed in configuration about the max size and chunk size were no longer needed since we're updating preset values now and the preset changes seem to only be listed in the changes at the top.

* review feedback

* hopefully correct this time!  Moved the 2 fields from configs into presets completely as suggested.

* WIP - changing back to being in config and updating the phase 0 value... I think this should be close but want to see what's outstanding.

* fix intellij's formatting of table.

* more fixes

---------

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-06-09 23:12:38 +08:00
Hsiao-Wei Wang
45f3432019
Update MAX_BLOBS_PER_BLOCK to 6 and add Deneb networking configs to yaml files (#3410) 2023-06-09 23:10:00 +08:00
Danny Ryan
05790d380b
Merge pull request #3406 from ethereum/deneb-4844-clean
specially mark EIP4844 changes
2023-06-09 08:46:48 -06:00
Lion - dapplion
efd2429b3f
Move whisk_opening_proof to block body (#3408) 2023-06-09 11:28:06 +03:00
Hsiao-Wei Wang
76214c7cae
Merge pull request #3162 from dapplion/eip4844-dedup-range
De-duplicate range references in BlobSidecarsByRange
2023-06-09 00:54:27 +08:00
Lion - dapplion
241e52a202
Whisk (SSLE) with Curdleproofs - rebased (#3342)
* Introduce consensus code for Whisk

* polish, simplify, clean up (~100 fewer lines)

@asn-d6: As discussed, I fixed a few bugs along the way but likely also introduced some bugs :)

* minor cleanups and fixes

* simplify is_k_commitment_unique

* Update beacon-chain.md

* Update beacon-chain.md

* Initialize `k` in `get_validator_from_deposit()`

* minor cleanups

* Update beacon-chain.md

* Create beacon-chain.md

This PR changes the Whisk tracker format to be of the form `(r * pubkey, r * BLS_GT_GENERATOR)` instead of `(r * k * BLS_G1_GENERATOR, r * BLS_G1_GENERATOR)`. This allows for non-interactive tracker registrations from validator pubkeys, removing ~50 lines the code. It also significantly reduces the amount of state overhead. This PR also removes permutation commitments, though those can be easily readded if deemed necessary.

* A couple of fixes to the no-registration simplification

@asn-d6: Readded a consistency check for `IsValidWhiskOpeningProof` (involving `pubkey` instead of `k_commitment`).

* remove unused helpers

* use Mary's suggested tracker

* Update beacon-chain.md

* Revert G_t element optimization

This needs its own ethresearch post, and some additional analysis to see if we can do the shuffle ZKP in the allowed
timeframe.

This reverts commit 8517acabfc1dbb1a35789e6170b5db0bb2c19c9a.

* Implement new shuffling strategy

Ditch the Feistel logic and instead have each shuffler pick the row they shuffle using their RANDAO reveal.

* Curdleproofs edits

* working whisk eth2spec

* working whisk dummy test

* add more boilerplate set up code

* rebase constants

* Implement even newer and simplified shuffling strategy

This commit further simplifies 0faef30fc131d1b471b63a7f16772eeeef548ef8 by removing the entire squareshuffle.

The latest version of https://eprint.iacr.org/2022/560 proposes that each shuffler picks random indices from the entire
candidate set instead of organizing validators into a square.

* Move to _features

* remove dummy test

* Run doctoc

* Change Whisk's previous fork to Capella instead of Bellatrix. Make linter happier.

* Fix lint

* Fix pylint

* Fix mypy issues

* Clean-up get_beacon_proposer_index

* Fix doc headers

* Fix capella link

* Update apply_deposit

* Rename process_shuffled_trackers

---------

Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Nalin Bhardwaj <nalinbhardwaj@nibnalin.me>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-06-08 15:35:03 +08:00
Hsiao-Wei Wang
b7e21d6caf
PR feedback and make the marks italic 2023-06-08 15:05:46 +08:00
Hsiao-Wei Wang
bab93e8d44
specially mark EIP7044 changes 2023-06-07 18:54:04 +08:00
Hsiao-Wei Wang
5f241bb7a4
Merge branch 'deneb-4844-clean' into pr3288-comment 2023-06-07 18:38:20 +08:00
Hsiao-Wei Wang
a547d47264
specially mark the EIP4844 changes 2023-06-07 17:48:26 +08:00
Mikhail Kalinin
f5e00848d0
Remove assert from is_data_available 2023-06-07 11:59:51 +06:00
Hsiao-Wei Wang
468b5be7b8
Merge pull request #3368 from ethereum/ralexstokes-patch-3
Remove extraneous length check from deneb forkchoice
2023-06-02 01:54:47 +08:00
Hsiao-Wei Wang
c9b84ecc1a
Use verify_blob_kzg_proof_batch directly in is_data_available and remove validate_blob wrapper 2023-06-01 23:40:46 +08:00
Hsiao-Wei Wang
69ce4bb531
Merge branch 'dev' into excess_data_gas-type 2023-06-01 23:15:02 +08:00
Hsiao-Wei Wang
a965ca7ac4
Merge pull request #3391 from ethereum/data_gas_used
Add `data_gas_used` field to `ExecutionPayload`
2023-06-01 23:09:46 +08:00
Hsiao-Wei Wang
60721b9d8a
switch order 2023-06-01 22:39:01 +08:00
Hsiao-Wei Wang
0d4b07f63c
Merge pull request #3389 from ethereum/fork-settings
Turn off light client tests for feature specs
2023-06-01 14:59:27 +08:00
Hsiao-Wei Wang
653e03e702
Fix ToC 2023-05-30 21:12:47 +08:00
Hsiao-Wei Wang
be33c4008a
Merge branch 'dev' into pr3288 2023-05-30 21:08:12 +08:00
Hsiao-Wei Wang
f6fe8e2729
Change ExecutionPayload.excess_data_gas type from uint256 to uint64 2023-05-30 20:36:58 +08:00
Hsiao-Wei Wang
296efec256
Add data_gas_used field to ExecutionPayload 2023-05-30 00:39:13 +08:00
Hsiao-Wei Wang
30da14e9b4
Create LIGHT_CLIENT_TESTING_FORKS to limit the light client tests 2023-05-25 13:49:41 +08:00
Hsiao-Wei Wang
a10affa245
Fix preset table 2023-05-24 21:15:01 +08:00
djrtwo
9bc27bad30 a couple of minor cleanups 2023-05-24 05:41:42 -06:00
Hsiao-Wei Wang
e9cc8dcc05
PR feedback of Danny + verify MAX_BLOBS_PER_BLOCK size in unittest 2023-05-24 16:32:39 +08:00
Hsiao-Wei Wang
f0a4281afd
Add tests. Add validation in the p2p beacon block gossiping 2023-05-24 16:11:32 +08:00
Hsiao-Wei Wang
a05b689b4c
Merge branch 'dev' into pr3338 2023-05-24 15:38:55 +08:00
Hsiao-Wei Wang
7a827638e6
Ensure verify_and_notify_new_payload returns bool 2023-05-24 12:56:10 +08:00
Hsiao-Wei Wang
ec1ee74edb
Fix typo
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-05-24 12:17:07 +08:00
Hsiao-Wei Wang
53a9221d1a
Fix ToC 2023-05-24 11:55:22 +08:00
Hsiao-Wei Wang
212a314287
Fix ToC and remove validate_blobs_and_kzg_commitments 2023-05-24 11:27:26 +08:00
Hsiao-Wei Wang
6b5513b43a
Merge branch 'dev' into engine-versioned-hashes 2023-05-24 11:19:56 +08:00
Hsiao-Wei Wang
289d8147be
Move verify_and_notify_new_payload to Bellatrix 2023-05-24 11:12:03 +08:00
Hsiao-Wei Wang
0a90b58080
Merge branch 'engine-versioned-hashes-explicit' into engine-versioned-hashes 2023-05-24 10:40:36 +08:00
Hsiao-Wei Wang
738b9818b3
Merge pull request #3375 from ethereum/networking-configs
Add networking configs to config files
2023-05-24 10:38:35 +08:00
Hsiao-Wei Wang
d018635c96
Merge pull request #3350 from ethereum/remove-is_execution_enabled
Remove `is_execution_enabled` condition since Capella
2023-05-24 10:36:34 +08:00
Hsiao-Wei Wang
ee09c34261
Merge pull request #3232 from ethereum/capella-fc-cleanup
Remove `is_merge_transition_block` check since Capella
2023-05-24 10:36:14 +08:00
djrtwo
68ce45b305 move epoch subscription length to config 2023-05-23 13:56:09 -06:00
Hsiao-Wei Wang
dd5e6f813f
Add make_function_abstract to make it more general 2023-05-24 01:59:02 +08:00
Hsiao-Wei Wang
0754b94948
Merge branch 'dev' into remove-is_execution_enabled 2023-05-24 00:01:23 +08:00
Hsiao-Wei Wang
7ec5efb106
Add ### Block processing back 2023-05-23 23:55:35 +08:00
Hsiao-Wei Wang
2192882faa
Merge pull request #3354 from g11tech/kzg-big-endian
Update the endianness of the polynomial commitments to be big endian
2023-05-23 23:43:19 +08:00
Hsiao-Wei Wang
73df1935b1
Use verify_and_notify_new_payload approach 2023-05-23 23:37:42 +08:00