Commit Graph

100 Commits

Author SHA1 Message Date
Dankrad Feist
fddbd6b76c Remove constants in favour of using compute_roots_of_unity 2024-01-11 15:42:10 +00:00
Dankrad Feist
d21d99f8d8 Add constant for multi cell verification challenge 2024-01-10 19:13:33 +00:00
George Kadianakis
a58c86832a Randomize the test_recover_polynomial() 2024-01-09 16:05:00 +02:00
Hsiao-Wei Wang
db89e2981a Clean up Deneb specs. Add some type casting for using fft function 2024-01-09 01:37:24 +08:00
Hsiao-Wei Wang
9a0727000c Rename recover_cells to recover_polynomial and fix function signature. Add basic test case. 2024-01-08 23:18:51 +08:00
Hsiao-Wei Wang
03583b1b47 Fix fft helper and add basic test 2024-01-05 20:31:09 +08:00
Hsiao-Wei Wang
7f8858b2ac Add PeerDAS feature 2024-01-05 18:43:37 +08:00
Hsiao-Wei Wang
c58c4a71b2 Merge branch 'dev' into polynomial-commitments-sampling 2024-01-05 18:07:53 +08:00
Dankrad Feist
94ecce76ee Add polynomial commitments for sampling 2023-12-04 01:12:07 +00:00
Hsiao-Wei Wang
d74932bec9 Merge branch 'dev' into pr3442 2023-10-16 17:22:31 +08:00
Lion - dapplion
8acb254511 Use add_validator_to_registry in whisk (#3486) 2023-10-10 15:09:21 +03:00
joethechicken
28e3c807e2 Update validator.md (#3509) 2023-09-20 12:53:50 +01:00
dapplion
4eca8e4292 Add CRS files 2023-09-12 10:23:31 +02:00
Lion - dapplion
eef61448a9 Whisk: don't mutate candidates during cooldown (#3483) 2023-08-20 14:46:22 +03:00
Lion - dapplion
0b751fc259 Whisk move non-preset values to config (#3482) 2023-08-20 14:42:12 +03:00
Hsiao-Wei Wang
01c358c873 Rename "data gas" to "blob gas" 2023-07-25 13:28:34 +08:00
Danny Ryan
726b453332 Merge pull request #3446 from ppopth/on-reused-index
EIP-6914: Update the equivocating indices in the fork-choice store
2023-07-24 13:40:45 -06:00
dapplion
211376e35c Update curdleproofs usage 2023-07-24 20:15:46 +02:00
Suphanat Chunhapanya
d8b023c5d8 Explain more on on_reused_index 2023-07-18 19:55:18 +07:00
Justin Traglia
16b1afb1ef Add punctuation to docstring 2023-07-15 17:53:10 +02:00
Justin Traglia
fafd48f06a Fix comment 2023-07-15 17:30:08 +02:00
Justin Traglia
3f3d4123f6 Unmark validators field as modified 2023-07-15 17:09:06 +02:00
Justin Traglia
86a147a740 Link to dev branch instead of master 2023-07-15 14:13:07 +02:00
Justin Traglia
4ddaff5a77 Fix links to curdleproofs.pie repo 2023-07-15 13:58:04 +02:00
Hsiao-Wei Wang
71c25f8664 Merge branch 'dev' into pr3442 2023-07-14 22:25:39 +08:00
Suphanat Chunhapanya
3ed0619951 Update the equivocating indices in the store
Since we sometimes reuse the slashed validator index, we need to remove
it from the list of equivocating indices in the fork-choice store.
2023-07-11 21:49:24 +07:00
dapplion
7f9a0264ce Update specs with state.whisk_trackers 2023-07-05 17:18:54 +02:00
dapplion
91ff707887 Fix test lint issues 2023-07-05 17:18:52 +02:00
dapplion
4ce2b02b44 Add whisk tests 2023-07-05 17:18:34 +02:00
Hsiao-Wei Wang
7b771ccb13 Merge branch 'dev' into eip7002 2023-06-26 18:07:48 +08:00
Alex Stokes
2660af0539 move 4788 feature to deneb specs 2023-06-22 09:00:50 -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
59fd2a6400 Merge branch 'dev' into eip7002 2023-06-18 16:40:17 +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
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
Hsiao-Wei Wang
19edc2d1ec Merge branch 'dev' into eip7002 2023-06-13 19:35:02 +08:00
Lion - dapplion
efd2429b3f Move whisk_opening_proof to block body (#3408) 2023-06-09 11:28:06 +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 8517acabfc.

* 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 0faef30fc1 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
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
2a53d484b8 Remove EIP7002 light client specs 2023-06-01 18:41:09 +08:00
Hsiao-Wei Wang
b8949677fd Merge branch 'dev' into eip7002 2023-06-01 18:37:31 +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
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