106 Commits

Author SHA1 Message Date
Hsiao-Wei Wang
b7d9ea9a75
Rename peerdas to eip7594 2024-01-14 00:13:08 +08:00
Dankrad Feist
4cc1e14a17
Forgot factor of 2 for roots_of_unity_extended 2024-01-12 12:39:08 +00:00
Dankrad Feist
9a851d93c4
Linter 2024-01-11 21:58:24 +00:00
Dankrad Feist
7ec0a2531c
Doctoc 2024-01-11 21:11:57 +00:00
Dankrad Feist
c2522ac467
Correct type definition for PolynomialCoeff 2024-01-11 21:05:51 +00:00
Dankrad Feist
b55ab46909
Correct type info for verify_kzg_proof_multi_impl 2024-01-11 20:57:16 +00:00
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 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
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