Commit Graph

306 Commits

Author SHA1 Message Date
Mikhail Kalinin 221f273e14 Fix lint 2024-03-29 22:35:12 +06:00
Mikhail Kalinin 7bbecfb762 Revert "Replace MIN_ACTIVATION_BALANCE with MAX_EFFECTIVE_BALANCE"
This reverts commit 6f5cc4baf5.
2024-03-29 15:27:12 +06:00
Mikhail Kalinin d004391fb1 Merge branch 'dev' into eip-7251 2024-03-29 15:25:07 +06:00
Hsiao-Wei Wang e926d2e791
Merge pull request #3618 from dapplion/eip-7251
Add EIP-7251 spec: Increase MAX_EFFECTIVE_BALANCE
2024-03-28 14:13:26 +08:00
Mikhail Kalinin 534bcfc116 Use source.effective_balance for consolidaiton churn 2024-03-28 11:49:44 +06:00
Mikhail Kalinin 915f90e13e Strictly check withdrawal address upon consolidation 2024-03-27 18:05:05 +06:00
Mikhail Kalinin 517f741f29 Abort voluntary exit if validator has pending partial withdrawals 2024-03-27 17:57:54 +06:00
Mikhail Kalinin 46638d31ba Remove unused method 2024-03-27 17:42:10 +06:00
Mikhail Kalinin 31142b0ba1 Require sufficient EB to emit partial withdrawal 2024-03-27 17:41:00 +06:00
Mikhail Kalinin 6f5cc4baf5 Replace MIN_ACTIVATION_BALANCE with MAX_EFFECTIVE_BALANCE 2024-03-27 17:35:27 +06:00
Mikhail Kalinin cda10d059b Refactor EL withdraw request processing 2024-03-27 16:51:38 +06:00
Mikhail Kalinin 73ede3a804 Fix pending_balance_to_withdraw == 0 check when full exit 2024-03-27 15:44:38 +06:00
Mikhail Kalinin 5e32d442a2 Fix the sweep by enabling 0x02 creds 2024-03-27 12:42:37 +06:00
Mikhail Kalinin 06104f24e3 Fix is_partially_withdrawable_validator 2024-03-27 01:43:15 +09:00
dapplion e6aaa9d44d Fix lint 2024-03-27 01:35:36 +09:00
dapplion 23ad85e8bf Allow to switch to compounding validator on deposit 2024-03-27 00:31:09 +09:00
Hsiao-Wei Wang 30be96bac3
Merge pull request #3632 from parithosh/add-electra-config
Add electra fork config
2024-03-26 21:48:28 +08:00
Hsiao-Wei Wang 88a35a1de1
update the spec files too 2024-03-26 13:18:40 +08:00
fradamt 4775641f05 fix broken pending deposits tests and typo 2024-03-25 15:26:50 +01:00
Mikhail Kalinin bb8ba9c045
Apply suggestions from code review
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
2024-03-25 19:20:58 +06:00
fradamt 97966d825a small fixes 2024-03-25 12:23:19 +01:00
Mikhail Kalinin 702ac28858 eip7549: flatten aggregate_bits 2024-03-25 16:43:19 +06:00
dapplion 4e7c82ccc6 Remove is_aggregator changes 2024-03-23 00:04:29 +09:00
dapplion 08732e69c6 fix typo 2024-03-22 15:28:44 +09:00
dapplion 72c4f04261 @ensi321 review 2024-03-22 14:24:34 +09:00
dapplion 84a5ae919c rename to partial_withdrawals_count 2024-03-22 14:24:34 +09:00
dapplion 6d9ebe15bb set_compounding_withdrawal_credentials 2024-03-22 14:24:34 +09:00
dapplion ebdb513ec8 queue_excess_active_balance 2024-03-22 14:04:03 +09:00
Lion - dapplion 2014edbbaa
Update validator.md 2024-03-22 13:25:03 +09:00
Stefan Bratanov 4f61308147 EIP-6110 rename `get_eth1_deposit_count` function 2024-03-21 13:13:30 +00:00
Mikhail Kalinin 45f98d6a67 Set MIN_SLASHING_PENALTY_QUOTIENT_EIP7251=4096 2024-03-21 17:32:03 +06:00
Mehdi AOUADI ec633e8871 clarify network aggregation vs onchain aggregation 2024-03-20 16:31:46 +01:00
Mikhail Kalinin 8873d02360 Fix linter 2024-03-20 16:52:05 +06:00
Mikhail Kalinin d48b5e0665 Update whistleblower reward for eip7251 2024-03-20 16:10:30 +06:00
Mikhail Kalinin a127bbf0c6
Merge branch 'dev' into eip-7251 2024-03-20 14:46:43 +06:00
Mikhail Kalinin be79aab782 Fix toc 2024-03-20 14:42:21 +06:00
Mikhail Kalinin cdbc2b760c Fix linter 2024-03-20 13:58:18 +06:00
Mikhail Kalinin 98f38c7f07 Introduce MAX_PARTIAL_WITHDRAWALS_PER_PAYLOAD 2024-03-20 13:53:42 +06:00
Mark Mackey f6359f9afb Fix Bug in process_pending_balance_deposits 2024-03-19 13:31:55 -05:00
Mark Mackey cf70df25d9 Address Comments and Cleanup Spec 2024-03-19 11:12:33 -05:00
Hsiao-Wei Wang 5d80b1954a
Merge pull request #3559 from dapplion/attestation-index
EIP-7549: Move committee index outside Attestation
2024-03-14 23:54:20 +08:00
dapplion fc65a6f864 Fix CI 2024-03-13 00:23:47 +08:00
George Kadianakis 4b6b07b73e PeerDAS: Use FIELD_ELEMENTS_PER_EXT_BLOB in def of PolynomialCoeff 2024-03-12 15:07:42 +02:00
dapplion 5f78d2b436 apply suggestions 2024-03-11 11:10:41 +08:00
George Kadianakis c71fb00c8e PeerDAS: Check for degree overflow in multiply_polynomialcoeff() 2024-03-08 18:04:55 +02:00
dapplion c5af391ad4 Add validator doc 2024-03-08 17:02:40 +08:00
dapplion 668e447c55 Add EIP-7251 spec
Co-authored-by: fradamt <104826920+fradamt@users.noreply.github.com>
2024-03-08 12:37:35 +08:00
Hsiao-Wei Wang 43dbf8cef5
Fix ToC and apply @mehdi-aouadi's suggestion 2024-03-06 23:28:07 +08:00
Hsiao-Wei Wang 03c23c6fb1
make it executable for basic linter checks & fix errors 2024-03-06 23:24:21 +08:00
Hsiao-Wei Wang ec9bbfa2ea
Merge EIP7002 into Electra 2024-03-06 14:23:23 +08:00
Hsiao-Wei Wang 6ffd27bd60
Rename EIP6110 to Electra 2024-03-06 13:38:49 +08:00
dapplion 38f269ca12 Update spec with @mkalinin suggestions 2024-03-05 20:58:05 +08:00
dapplion accee2b8be Merge remote-tracking branch 'upstream/dev' into attestation-index 2024-03-05 17:19:49 +08:00
Hsiao-Wei Wang cebf78a83e
Apply PR feedback 2024-02-27 22:42:32 +09:00
Hsiao-Wei Wang 1acb1ff24f
minor arrange 2024-02-20 22:23:23 +08:00
Hsiao-Wei Wang bb33f9082c
Change List length of `DataColumn` from `MAX_BLOBS_PER_BLOCK` to `MAX_BLOB_COMMITMENTS_PER_BLOCK` 2024-02-20 22:06:09 +08:00
Hsiao-Wei Wang 8150f76e1c
Apply @cskiraly's suggestion 2024-02-20 22:02:10 +08:00
Hsiao-Wei Wang 90afb238ed
Update specs/_features/eip7594/polynomial-commitments-sampling.md 2024-02-14 20:51:50 +08:00
George Kadianakis 385b0f35ac
Update specs/_features/eip7594/polynomial-commitments-sampling.md
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-02-06 13:10:31 +02:00
George Kadianakis f1dd735784
Update specs/_features/eip7594/polynomial-commitments-sampling.md
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-02-06 13:10:24 +02:00
George Kadianakis 4b1106b39c
Update specs/_features/eip7594/polynomial-commitments-sampling.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2024-02-05 16:59:08 +02:00
George Kadianakis 1e41a6bc69 New FIELD_ELEMENTS_PER_EXT_BLOB: number of cells in an extended blob 2024-02-05 16:57:29 +02:00
George Kadianakis e3b83d5450 Add defensive asserts in recover_polynomial() 2024-02-05 16:56:27 +02:00
Hsiao-Wei Wang e7c0d5ff3c
Update specs/_features/eip7594/das-core.md
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
2024-02-02 16:27:56 +08:00
Hsiao-Wei Wang 91dbbb365c
Implement `compute_extended_matrix` 2024-02-02 02:26:28 +08:00
Hsiao-Wei Wang c47d5f3578
Add `recover_matrix` and remove unused `FlatExtendedMatrix` type 2024-02-02 01:45:02 +08:00
Hsiao-Wei Wang 428c166283
Apply suggestions from code review
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>
2024-02-01 21:17:42 +08:00
Hsiao-Wei Wang d60580bb52
Apply suggestions from code review
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-02-01 18:09:37 +08:00
Hsiao-Wei Wang 87e9702ab0
Fix `DataColumnSidecarsByRoot` 2024-01-31 22:30:52 +08:00
Hsiao-Wei Wang d23452d02b
Deprecate `blob_sidecar_{subnet_id}` 2024-01-31 22:30:46 +08:00
Hsiao-Wei Wang 547460cd84
Apply PR feedback 2024-01-31 22:30:35 +08:00
George Kadianakis 212c1fe624 Small improvements on construct_vanishing_polynomial() 2024-01-31 14:04:23 +02:00
George Kadianakis 4d01d50437 Initial docs added to recover_shifted_data() and recover_original_data() 2024-01-31 14:04:23 +02:00
George Kadianakis be5e5c5a75 Add helpers: recover_shifted_data() and recover_original_data() 2024-01-31 14:04:23 +02:00
George Kadianakis 8b3ac46a2d Add helper method: construct_vanishing_polynomial() 2024-01-31 13:48:20 +02:00
Hsiao-Wei Wang 170dae5609
Apply suggestions from code review
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>
2024-01-29 17:34:47 +08:00
Hsiao-Wei Wang 7aab57703e
Merge branch 'dev' into peer-das 2024-01-29 17:29:20 +08:00
Hsiao-Wei Wang b2a4657da5
Merge branch 'peer-das-req-subnet-count' into peer-das 2024-01-29 17:23:33 +08:00
Hsiao-Wei Wang edeef070d8
toc 2024-01-28 22:47:49 +08:00
George Kadianakis ae3ef6f330
Merge pull request #3579 from asn-d6/peerdas_public_method_bytes
peerDAS: Public methods must accept raw bytes
2024-01-26 17:36:54 +02:00
Hsiao-Wei Wang 56e6a98b9c
`verify_data_column_sidecar_kzg_proof` -> `verify_data_column_sidecar_kzg_proofs` 2024-01-20 17:24:57 +08:00
Hsiao-Wei Wang 4477cc6952
Fix column computation 2024-01-20 14:43:35 +08:00
Hsiao-Wei Wang 55db86127d
Apply suggestions from code review
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-01-20 14:20:27 +08:00
Hsiao-Wei Wang 65be5b0556
Make `CUSTODY_REQUIREMENT` unit be subnets; move some depended helpers to `das-core.md` 2024-01-20 00:51:28 +08:00
Hsiao-Wei Wang a72ece8348
Apply suggestions from code review
Co-authored-by: g11tech <develop@g11tech.io>
2024-01-19 22:37:02 +08:00
Hsiao-Wei Wang 9553d5490a
fix typo 2024-01-19 22:30:53 +08:00
Hsiao-Wei Wang 665e6faff7
Add `RowIndex`, `ColumnIndex` custom types in crypto doc 2024-01-19 19:14:03 +08:00
George Kadianakis 2000a4f307 Improve test_verify_cell_proof_batch() 2024-01-17 17:20:36 +02:00
George Kadianakis 66798602dd Minor fixes based on review 2024-01-17 14:18:03 +02:00
George Kadianakis 87f2ad2681 Public methods: int -> uint64 2024-01-16 16:58:14 +02:00
Hsiao-Wei Wang 96e41bca30
Optimization: reduce `len()` call 2024-01-16 16:51:05 +08:00
George Kadianakis a4331e7c63 Public methods must accept raw bytes 2024-01-15 18:38:18 +02:00
George Kadianakis b4d418d8ce Remove some trailing whitespace 2024-01-15 17:34:28 +02:00
Hsiao-Wei Wang 504b4f9036
Migrating to latest crypto APIs 2024-01-15 17:12:47 +08:00
Hsiao-Wei Wang 93dddd15f2
wip
wip

Add `TARGET_NUMBER_OF_PEERS`

Add networking spec draft

fix

simplification

Rename `DoYouHave` to `GetCustodyStatus`

Add DataLineSidecar design

Apply suggestions from code review

Co-authored-by: dankrad <mail@dankradfeist.de>
Co-authored-by: danny <dannyjryan@gmail.com>

Revamp after reviews and discussion

Remove `CustodyStatus`

minor fix

Change`DataColumn` to `List[DataCell, MAX_BLOBS_PER_BLOCK]`

Move folder

Replace `DataColumnByRootAndIndex` with `DataColumnSidecarByRoot` message. Add extended data description

Remove `DataRow`

Apply suggestions from @jacobkaufmann code review

Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>

Represent matrix in `BLSFieldElement` form

Add `assert time >= store.time` to `on_tick`

Revert the spec. Only handle it in tests

Remove extra tick

cleanup leftover

Add randomized block cases

Specify RPC byRoot blocks-sidecars elegibility

fix typo

Update specs/phase0/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

add failed on_block condition

rephrase

Update specs/phase0/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

apply suggestion

Update specs/deneb/p2p-interface.md

Co-authored-by: danny <dannyjryan@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: danny <dannyjryan@gmail.com>

remove the last consider

from on_block to state_transition

simplify and add a new rule

Update specs/phase0/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: danny <dannyjryan@gmail.com>

remove gossip failure rules

Apply suggestions from code review

bump version to v1.4.0-beta.5

Move `blob_sidecar_{subnet_id}` to `Blob subnets` section

Misc minor fix

Add linter support

Add column subnet validation. Split `verify_column_sidecar` into two functions

Fix `get_data_column_sidecars` by using `compute_samples_and_proofs`

Apply suggestions from code review

Co-authored-by: danny <dannyjryan@gmail.com>

Do not assign row custody

Apply suggestions from code review

Co-authored-by: danny <dannyjryan@gmail.com>

Revamp reconstruction section

Use depth as the primary preset for inclusion proof. Fix `get_data_column_sidecars` and add tests for merkle proof

Change `SAMPLES_PER_SLOT` to 8 and add tests (requirement TBD)

Apply PR feedback from @ppopth and @jtraglia

Fix `get_data_column_sidecars`

Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>

Apply suggestions from code review

Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>

Apply suggestions from code review

Co-authored-by: fradamt <104826920+fradamt@users.noreply.github.com>
Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>

Fix `get_data_column_sidecars` and `get_custody_lines`

Apply suggestions from code review

Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>

Enhance tests

fix typo

Co-authored-by: fradamt <104826920+fradamt@users.noreply.github.com>

Remove `epoch` from `get_custody_lines`

fix

fix
2024-01-15 17:12:43 +08:00
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
dapplion e8e00f332a move attestation index outside signed message 2023-12-05 14:16:07 +02: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
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