Commit Graph

8591 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 1e75afca7b
Merge pull request #3409 from dapplion/lint-stable
Ensure make lint resolves to the right pylint and mypy versions
2023-06-09 22:21:20 +08:00
Lion - dapplion efd2429b3f
Move whisk_opening_proof to block body (#3408) 2023-06-09 11:28:06 +03:00
dapplion 706824cf95 Drop need to declare spec feature files 2023-06-08 20:34:07 +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
dapplion 68bb5ee507 Ensure make lint resolves to the right pylint and mypy versions 2023-06-08 15:00:49 +03: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
Hsiao-Wei Wang 54c2c1596f
Merge pull request #3404 from ethereum/mkalinin-patch-2
Remove assert from is_data_available
2023-06-07 17:04:39 +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 9195bf5cbe
Merge pull request #3398 from ethereum/delete-eip6110-lc-testgen
Delete `eip6110_mods` from light client testgen
2023-06-02 00:32:40 +08:00
Danny Ryan 8fc6eafc78
Merge pull request #3397 from ethereum/bump-version
Update VERSION.txt to 1.4.0-alpha.1
2023-06-01 10:24:02 -06:00
Hsiao-Wei Wang dde9301610
fix lint 2023-06-02 00:15:45 +08:00
Hsiao-Wei Wang e1a55238f2
Delete eip6110_mods 2023-06-02 00:06:47 +08:00
Hsiao-Wei Wang 4bf3895864
Update VERSION.txt to 1.4.0-alpha.1 2023-06-01 23:53:01 +08:00
Hsiao-Wei Wang 5c5c3bdc2d
Merge pull request #3392 from ethereum/excess_data_gas-type
Change `ExecutionPayload.excess_data_gas` type from `uint256` to `uint64`
2023-06-01 23:49:45 +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 aeca477398
Merge branch 'dev' into att-slot-range 2023-06-01 18:20:24 +08:00
Hsiao-Wei Wang 7bc5d51ce8
Add non-zero data_gas_used case 2023-06-01 18:09:23 +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
Danny Ryan 53a9324cf0
Merge pull request #3388 from ethereum/master
Backport `master` to `dev`
2023-05-30 08:37:06 -06: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 0ffb4e02cb
Merge pull request #3387 from ethereum/fix-docs-deploy
[hotfix] Fix docs deploy script
2023-05-25 02:16:29 +08:00
Hsiao-Wei Wang 89e45c6454
do not use setup.py to install mkdocs modules 2023-05-25 02:04:17 +08:00
Hsiao-Wei Wang ea99320da3
Merge pull request #3380 from ethereum/dev
v1.4.0-alpha.0 release
2023-05-25 00:46:00 +08:00
Hsiao-Wei Wang 017a8495f7
Merge pull request #3386 from ethereum/single-process
Fallback to MODE_SINGLE_PROCESS
2023-05-25 00:20:43 +08:00
Hsiao-Wei Wang b2771c67c3
Fallback to MODE_SINGLE_PROCESS 2023-05-25 00:16:19 +08:00
Hsiao-Wei Wang 7d4ea82972
Merge pull request #3384 from ethereum/fix-preset-table
Fix Deneb preset table
2023-05-24 22:44:16 +08:00
Hsiao-Wei Wang ce5a9fad66
Merge pull request #3383 from ethereum/fix-pickle
Fix shuffling testgen when multiprocessing
2023-05-24 22:22:05 +08:00
Hsiao-Wei Wang a10affa245
Fix preset table 2023-05-24 21:15:01 +08:00
Hsiao-Wei Wang 8d32e79b8d
Fix multiprocessing 2023-05-24 21:03:58 +08:00
Hsiao-Wei Wang c66ccfa5ee
Merge pull request #3382 from ethereum/quick-patches
a couple of minor cleanups
2023-05-24 19:56:10 +08:00
Danny Ryan 2fef00e622
Merge pull request #3381 from ethereum/bump-version
Update VERSION.txt to 1.4.0-alpha.0
2023-05-24 05:43:21 -06:00
djrtwo 9bc27bad30 a couple of minor cleanups 2023-05-24 05:41:42 -06:00
Hsiao-Wei Wang b646c60916
Merge pull request #3338 from g11tech/update-max-blobs-limit-mainnet
Update block's `blob_kzg_commitments` size limit to MAX_BLOB_COMMITMENTS_PER_BLOCK (4096)
2023-05-24 16:50:13 +08: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 2225fd39d9
Merge pull request #3359 from ethereum/engine-versioned-hashes
Use `engine_newPayloadV3` to pass `versioned_hashes` to EL for validation
2023-05-24 15:34:00 +08:00
Hsiao-Wei Wang 7a827638e6
Ensure `verify_and_notify_new_payload` returns bool 2023-05-24 12:56:10 +08:00