Commit Graph

8749 Commits

Author SHA1 Message Date
dapplion e7e2282348 Auto manage SpecBuilder prev fork inheritance 2023-06-20 18:02:39 +03:00
djrtwo 668568ea22 spelling 2023-06-19 12:05:49 -06:00
djrtwo fd9a72e74a add 7045 fork boundary test 2023-06-19 12:00:25 -06:00
djrtwo 919052081b toc 2023-06-19 08:33:05 -06:00
Lion - dapplion c90d724392
Whisk: add preset files (#3424)
* Add Whisk preset files

* Use N=8 for minimal preset

* Update spec_object var location
2023-06-19 17:10:15 +03:00
Lion - dapplion cc4c810b8f
Whisk: complete TODO items in fork logic (#3427)
* Complete TODO items in fork logic

* Simpler underflow protection

* Add saturating_sub
2023-06-19 17:08:51 +03:00
Hsiao-Wei Wang 2f4ce8fb41
Add more block tests to test mixed operations 2023-06-18 17:26:14 +08:00
Hsiao-Wei Wang 59fd2a6400
Merge branch 'dev' into eip7002 2023-06-18 16:40:17 +08:00
Hsiao-Wei Wang 12512ef818
Merge pull request #3311 from dapplion/add_validator_to_registry
Add add_validator_to_registry fn
2023-06-16 17:36:43 +08:00
Hsiao-Wei Wang 781cd83f09
fix typo 2023-06-16 17:21:34 +08:00
Hsiao-Wei Wang 66eca39533
Merge branch 'dev' into pr3311 2023-06-16 16:24:55 +08:00
Lion - dapplion 834f6f70e7
Whisk: assert zeroed values during selection gap (#3425)
* Assert zeroed values during selection gap

* Update comment
2023-06-15 14:33:28 +03:00
djrtwo ec4bdae2d4 build EIP 7045 into Deneb fork 2023-06-14 15:03:28 -06:00
Hsiao-Wei Wang 9e50c74a37
Fix linter (#3430) 2023-06-15 00:45:43 +08:00
Lion - dapplion 65a28b6d69
Whisk: Move validator whisk trackers and commitments to state (#3407)
* Move validator whisk trackers and commitments to state

* Move comment
2023-06-14 18:58:57 +03:00
Lion - dapplion 0ab160bc28
Add initialize_beacon_state_from_eth1 (#3428) 2023-06-14 18:55:07 +03:00
Lion - dapplion 7b132c20d1
Fix typos in get_shuffle_indices (#3426) 2023-06-14 18:52:22 +03:00
djrtwo 559b89c447 Merge branch 'dev' into att-slot-range 2023-06-14 09:35:30 -06:00
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
Danny Ryan 11ab19c90a
Apply suggestions from code review 2023-06-14 09:25:54 -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 241be46247
Merge pull request #3429 from dapplion/lock-doctoc
Lock doctoc version
2023-06-14 21:24:40 +08:00
dapplion 530924020f Lock doctoc version 2023-06-14 15:29:59 +03:00
Hsiao-Wei Wang 19edc2d1ec
Merge branch 'dev' into eip7002 2023-06-13 19:35:02 +08:00
Danny Ryan e9f1d56807
Merge pull request #3419 from ethereum/bump-version
bump version 1.4.0-alpha.3
2023-06-12 11:43:51 -06:00
Hsiao-Wei Wang 87f77a3a6d
bump VERSION.txt 2023-06-13 01:42:18 +08:00
Hsiao-Wei Wang 4985d1c164
Merge pull request #3415 from dapplion/lock-curdleproofs
Lock nalinbhardwaj/curdleproofs.pie version
2023-06-13 01:20:56 +08:00
Danny Ryan 4dbb45436a
Merge pull request #3416 from g11tech/increase-subnet-count
Update blob side car subnet count to 6 in line with max blobs limit update
2023-06-12 11:13:11 -06: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
dapplion 7cf55c138c Lock nalinbhardwaj/curdleproofs.pie version 2023-06-12 15:34:05 +03:00
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
Hsiao-Wei Wang 3442dbb3e9
Merge pull request #3412 from dapplion/setup-file-decl
Drop need to declare spec feature files
2023-06-12 15:44:21 +08:00
Hsiao-Wei Wang f9959c807d
Merge pull request #3414 from wdowling/update-lru-dict
Update lru-dict package to latest stable release.
2023-06-12 14:08:18 +08:00
William Dowling cfd44dac56 Update lru-dict package to latest stable release.
lru-dict build fails when building under clang version 16 (6badf6376d). This bumps the version to the latest stable release.

Tested on MacOS M2 and Ubuntu Jammy x86-64.
2023-06-11 15:07:39 +02: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 be870887df
Merge pull request #3413 from ethereum/bump-version
bump VERSION.txt
2023-06-09 23:10:40 +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 7b69f176e2
bump VERSION.txt 2023-06-09 08:54:16 -06: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
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