Commit Graph

5704 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
Etan Kissling c41c128c76
Use `Custom types` section instead of `Helper types` for consistency 2024-01-09 14:55:22 +01:00
Hsiao-Wei Wang be8b30a593
Merge branch 'dev' into fork-choice-changes-for-confirmaton-rule 2024-01-09 02:06:12 +08: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 5854c7efb8
Fix some lint errors 2024-01-05 18:33:01 +08:00
Hsiao-Wei Wang 75b1bf515a
Add `KZG_SETUP_G1_MONOMIAL` to trusted setup files 2024-01-05 18:21:15 +08:00
Hsiao-Wei Wang c58c4a71b2
Merge branch 'dev' into polynomial-commitments-sampling 2024-01-05 18:07:53 +08:00
Etan Kissling fca5e3b06a
Use proper types when dealing with LC Merkle proofs 2023-12-27 13:59:31 +01:00
Etan Kissling 3e5427e31e
Align formatting 2023-12-27 12:54:36 +01:00
Etan Kissling 5717a81393
Capella addition 2023-12-27 12:44:05 +01:00
Etan Kissling 316ea98792
Use types for representing LC Merkle branches
For better legibility and alignment with `ethereum/beacon-APIs`, use
named types for the various Merkle branches used in the LC protocol.

- https://github.com/ethereum/beacon-APIs/blob/v2.4.2/types/altair/light_client.yaml#L2-L22
2023-12-27 12:42:29 +01:00
Dankrad Feist 9ec5dde8ac
Remove polynomial_coeff_to_eval 2023-12-23 15:21:19 +00:00
Dankrad Feist d36fc4f5a0
Zero polynomial -> vanishing polynomial 2023-12-23 15:08:02 +00:00
Dankrad Feist 3169f92fa5
More sample -> cell renaming 2023-12-23 14:52:39 +00:00
Dankrad Feist 246477ace2
SAMPLE -> CELL and cleanups 2023-12-23 14:44:58 +00:00
Dankrad Feist 62d1a8f4c4
Add public method markers 2023-12-22 09:44:16 +00:00
Hsiao-Wei Wang f0af688fbd
Minor fixes 2023-12-13 00:25:30 +08:00
Hsiao-Wei Wang 0d4007a6d9
Apply suggestions from code review
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2023-12-12 23:51:50 +08:00
Hsiao-Wei Wang bf09b9a7c4
Merge pull request #3442 from dapplion/whisk-tests
Add WHISK fork only tests
2023-12-08 18:56:03 +09:00
dapplion e8e00f332a move attestation index outside signed message 2023-12-05 14:16:07 +02:00
danny b2f2102dad
Merge pull request #3556 from ethereum/blob-subnets
Move `blob_sidecar_{subnet_id}` to `Blob subnets` section
2023-12-04 10:15:57 -07:00
danny d343b6f1d9
Apply suggestions from code review 2023-12-04 07:47:12 -07:00
Dankrad Feist 94ecce76ee
Add polynomial commitments for sampling 2023-12-04 01:12:07 +00:00
Hsiao-Wei Wang c43173e5bf
Move `blob_sidecar_{subnet_id}` to `Blob subnets` section 2023-12-02 07:33:18 +08:00
Enrico Del Fante ba09761ec3
remove gossip failure rules 2023-12-01 18:36:25 +01:00
Enrico Del Fante cf39eeda3d
Update specs/deneb/p2p-interface.md
Co-authored-by: danny <dannyjryan@gmail.com>
2023-12-01 17:29:54 +01:00
Enrico Del Fante eed7a66b25
Update specs/deneb/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-12-01 08:28:41 +01:00
Enrico Del Fante dad09f64b3
Update specs/phase0/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-12-01 08:28:29 +01:00
Enrico Del Fante c661e20e60
simplify and add a new rule 2023-11-30 16:11:33 +01:00
Enrico Del Fante bdac932ebb
from on_block to state_transition 2023-11-30 15:20:35 +01:00
Enrico Del Fante 662c6ebc38
remove the last consider 2023-11-30 15:20:35 +01:00
Enrico Del Fante b525e9ed35
Update specs/deneb/p2p-interface.md
Co-authored-by: danny <dannyjryan@gmail.com>
2023-11-30 15:20:35 +01:00
Enrico Del Fante 88b1818e9b
Update specs/deneb/p2p-interface.md
Co-authored-by: danny <dannyjryan@gmail.com>
2023-11-30 15:20:35 +01:00
Enrico Del Fante ccca4498c9
apply suggestion 2023-11-30 15:20:35 +01:00
Enrico Del Fante 4c5e5c886f
Update specs/phase0/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-11-30 15:20:35 +01:00
Enrico Del Fante d749a49665
rephrase 2023-11-30 15:20:35 +01:00
Enrico Del Fante e2ca4b3519
add failed on_block condition 2023-11-30 15:20:35 +01:00
Enrico Del Fante ccf9e3419b
Update specs/deneb/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-11-30 15:20:34 +01:00
Enrico Del Fante 6bbdeb88e0
Update specs/phase0/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-11-30 15:20:34 +01:00
Enrico Del Fante c46c4ec7cb
fix typo 2023-11-30 15:20:34 +01:00
Enrico Del Fante e664d407ca
Specify RPC byRoot blocks-sidecars elegibility 2023-11-30 15:20:34 +01:00
Etan Kissling 321870cbe9
Align gossip validation for aggregates with single attestations
A couple gossip validation rules are only specced out for single
un-aggregated attestations, but are also checked by implementations
for aggregates. This adds a copy of the missing gossip validation rules
to the aggregated attestation docs.
2023-11-19 23:12:11 -08:00
Etan Kissling dd65aa0cb2
Gossip additional `LightClientFinalityUpdate` on new supermajority
When new finality is reached without supermajority sync committee
support, trigger another event push on beacon-API and libp2p once
the new finality gains supermajority support.

Without this, if the first `LightClientFinalityUpdate` that advances
finality has low participation, light clients monitoring gossip would
likely get stuck until the next time when finality advances (1 epoch).

Thanks to @DragonDev1906 for reporting this issue to Nimbus:

- https://github.com/status-im/nimbus-eth2/issues/5491
2023-11-14 22:28:16 -08:00
Etan Kissling d9e53cbaf5
Merge branch 'dev' into lc-gindexname 2023-11-06 12:32:53 +01:00
Etan Kissling e30e8af58f
Use fork choice to determine `finalized_checkpoint` in gossip validation
Update gossip validation rules to use the highest `finalized_checkpoint`
across _all_ branches (`store.finalized_checkpoint`), instead of the one
on the currently selected branch (`state.finalized_checkpoint`) when
deciding whether to ignore a block / blob because they are already
finalized.
2023-11-06 12:20:11 +01:00
danny 36f0bb0ed6
Merge pull request #3541 from etan-status/df-rmsigned
Remove `SignedBlobSidecar` refs from p2p spec
2023-11-03 14:03:04 -06:00
Etan Kissling 9338d37c15
Update toc 2023-11-03 11:47:30 +01:00
Etan Kissling 3ef362ce90
Remove unused `DOMAIN_BLOB_SIDECAR`
Blob sidecars are no longer signed, remove signing domain.
2023-11-03 11:30:28 +01:00
Etan Kissling 321f47bb27
Remove `SignedBlobSidecar` refs from p2p spec
P2P spec still mentions _signed_ blob sidecars. Remove _signed_ as that
is no longer accurate.
2023-11-03 11:28:17 +01:00
danny e21ed6de4f
clarify/fix things in blob requests 2023-11-02 10:03:56 -06:00
danny c6f7adf319
Merge pull request #3531 from dapplion/blob-p2p-proof
Add blob sidecar inclusion proof
2023-11-02 09:56:08 -06:00
danny 7118c30b67
a few cleanups to sidecar gossip conditions 2023-11-02 09:40:49 -06:00
Hsiao-Wei Wang 3492c0a99a
minor refactoring 2023-11-02 22:10:06 +07:00
Hsiao-Wei Wang 38d354fb01
Merge pull request #3034 from michaelsproul/proposer-boost-reorg
Allow honest validators to reorg late blocks
2023-11-02 23:54:43 +09:00
Hsiao-Wei Wang 71106f1d64
Remove `BLOB_KZG_COMMITMENTS_GINDEX` 2023-11-02 21:38:01 +07:00
dapplion 4a609cec57 rename to kzg_commitment_inclusion_proof 2023-11-01 15:57:41 +02:00
Etan Kissling 89c986ee6a
Rename `_INDEX` generalized index constants to `_GINDEX`
To assist with readability, use `_GINDEX` suffix when referring to
generalized index constants.

Does neither affect consensus, beacon-API nor builder API.
2023-11-01 13:30:55 +01:00
danny 4e5599f41b
Merge pull request #3535 from ethereum/ralexstokes-patch-3
`deneb`: Suggest sidecars by root callers verify blob sidecars
2023-10-31 10:28:01 -06:00
Lion - dapplion 7f63f003c0
Merge branch 'dev' into blob-p2p-proof 2023-10-31 11:45:54 +02:00
dapplion 19883ec592 Add verify_blob_kzg_proof condition 2023-10-31 11:39:57 +02:00
danny 9b1e0b7354
Merge pull request #3534 from ralexstokes/clean-up-deneb-tx-type
remove `BLOB_TX_TYPE` from spec (and move to tests)
2023-10-30 10:53:58 -06:00
danny 72869c5c2d
Merge pull request #3533 from ethereum/ralexstokes-patch-2
`deneb`: Update block production to more precisely reflect the latest flow
2023-10-30 10:53:24 -06:00
Hsiao-Wei Wang 51343f54fe
Fix typing and delete the `signed_sidecar` 2023-10-30 18:28:12 +08:00
dapplion d323f0568f drop sidecar alias 2023-10-30 10:39:33 +02:00
Lion - dapplion b803f1ceeb
Update specs/deneb/p2p-interface.md
Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>
2023-10-30 10:38:48 +02:00
Lion - dapplion 126e807d19
Update specs/deneb/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-10-30 10:34:51 +02:00
dapplion c680212183 drop is_valid_merkle_path 2023-10-30 10:33:49 +02:00
Hsiao-Wei Wang 0e4737eba2
Add a general `compute_merkle_proof` helper to replace container-specific helpers 2023-10-30 14:44:32 +08:00
Hsiao-Wei Wang b7e0b88cb1
Fix test 2023-10-29 03:28:57 +08:00
Hsiao-Wei Wang de3b6a24dc
Fix toc 2023-10-29 02:33:39 +08:00
Hsiao-Wei Wang 1657d16afd
Add `BLOB_KZG_COMMITMENTS_GINDEX` to "Constant". Use pyspec parser trick to add assertion in pyspec 2023-10-29 02:33:07 +08:00
Alex Stokes f214e25509
Update p2p-interface.md
Suggest readers of `BlobSidecarsByRoot` also verify KZG proofs of blob data.
2023-10-28 11:41:27 -06:00
Alex Stokes 35e22702f3
remove `BLOB_TX_TYPE` from spec (and move to tests) 2023-10-28 11:11:27 -06:00
Alex Stokes 56f8c2bb06
Update validator.md
Align block production description using the latest APIs with corresponding symbols.
2023-10-28 10:39:54 -06:00
Hsiao-Wei Wang 26516ec3e9
Move `KZG_COMMITMENT_INCLUSION_PROOF_DEPTH` to preset and cast `int()` 2023-10-28 03:53:16 +08:00
dapplion 0bf9e75964 review PR 2023-10-27 20:22:17 +03:00
dapplion 83e5930b5c doctoc 2023-10-27 20:08:40 +03:00
dapplion f2649f65ba fix unit tests 2023-10-27 20:03:06 +03:00
Lion - dapplion 8712451c43
Update specs/deneb/p2p-interface.md
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-10-27 18:09:01 +03:00
dapplion caa79a5a02 build tree 2023-10-27 18:08:20 +03:00
dapplion c2a64a18f0 pass lint 2023-10-27 17:20:58 +03:00
dapplion 3dbe54e4b8 doctoc 2023-10-27 16:16:10 +03:00
dapplion a4a29a164f List typo 2023-10-27 16:15:25 +03:00
dapplion 29bbdf4393 compute KZG_COMMITMENT_INCLUSION_PROOF_DEPTH 2023-10-27 16:14:17 +03:00
dapplion e8bccecba5 remove verify_blob_sidecar_signature 2023-10-27 15:47:33 +03:00
dapplion 530efa88aa Add blob sidecar inclusion proof 2023-10-27 12:10:29 +03:00
Hsiao-Wei Wang d8440f8bb4
Merge branch 'dev' into pr3034 2023-10-26 23:51:35 +08:00
Michael Sproul 3f1bc20512
Clarifications for proposer boost reorgs 2023-10-26 17:44:59 +11:00
Nishant Das 1a53dbbf96
Update p2p-interface.md 2023-10-25 22:05:57 +08:00
Hsiao-Wei Wang 22215b8fe4
Fix `parent_state_advanced` side effect and reorder the conditions 2023-10-25 01:34:57 +08:00
danny ce387d65c9
shift wehre warning is in comments 2023-10-23 09:15:06 -06:00
danny 16498c60aa
Update fork-choice.md 2023-10-20 12:06:47 -06:00
Hsiao-Wei Wang 0f61819e5c
Update other specs accordingly and re-order "Proposer head and reorg helpers" section 2023-10-20 14:41:51 +08:00
danny 991d6d5609
add note about not invalidating valid and available blocks 2023-10-19 20:58:20 -06:00
Hsiao-Wei Wang 651db2f858
Refactoring 2023-10-19 19:18:29 +08:00
danny a2d021da48
re-order conditions 2023-10-18 10:38:43 -06:00
Enrico Del Fante 27ad39b73a
Add new gossip rule to `REJECT` sidecars with index >= MAX_BLOBS_PER_BLOCK 2023-10-18 11:54:47 +02:00
Hsiao-Wei Wang 8d91941818
Merge branch 'dev' into official-kzg 2023-10-18 00:16:01 +08:00
Hsiao-Wei Wang 3cab9ed44d
Remove the "TBD" note 2023-10-18 00:08:15 +08:00
Hsiao-Wei Wang 65e1371980
Fix tests 2023-10-16 21:31:07 +08:00
shuoer86 bae3384071 Fix typos 2023-10-16 21:16:26 +08:00
Hsiao-Wei Wang 9257ad28ac
Rename `KZG_SETUP_LAGRANGE` to `KZG_SETUP_G1_LAGRANGE` and `KZG_SETUP_G2` to `KZG_SETUP_G2_MONOMIAL` 2023-10-16 17:41:46 +08:00
Hsiao-Wei Wang 01fa0fe64a
Replace `ROOTS_OF_UNITY` with runtime-computed `compute_roots_of_unity(FIELD_ELEMENTS_PER_BLOB)` 2023-10-16 17:38:09 +08:00
Hsiao-Wei Wang d74932bec9
Merge branch 'dev' into pr3442 2023-10-16 17:22:31 +08:00
Hsiao-Wei Wang c5785899f7
Use official KZG ceremony output `trusted_setup_4096.json` trusted setups 2023-10-12 19:54:18 +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
Hsiao-Wei Wang 264dfadfe0
Merge branch 'dev' into pr3499 2023-09-18 18:07:39 +08:00
Hsiao-Wei Wang 26d3fa3efd
Apply suggestions from code review
Co-authored-by: danny <dannyjryan@gmail.com>
2023-09-15 22:02:34 +08:00
Hsiao-Wei Wang d26dac9121
Merge pull request #3493 from mxinden/patch-1
fix(sepcs/p2p): link to libp2p Yamux specification
2023-09-15 16:00:27 +08:00
Hsiao-Wei Wang 468ae9aae4
Update the link of `EIP-7044` 2023-09-15 11:04:08 +08:00
Hsiao-Wei Wang e5e50e3e40
Add EIP-7514 into Deneb 2023-09-15 10:49:06 +08:00
Max Inden 909388ba8d
fix(sepcs/p2p): link to libp2p Yamux specification
Previously the specification would link to the Hashicorp Yamux specification.

https://github.com/hashicorp/yamux/blob/master/spec.md

Since adoption by libp2p, there have been multiple refinements to the original specification. The improved specification can be found in the libp2p specification repository.

https://github.com/libp2p/specs/blob/master/yamux/README.md
2023-09-14 17:08:44 +02:00
Lion - dapplion 0efd778594
Update beacon_chain.md 2023-09-14 16:31:42 +02:00
dapplion 19bf51dd93 Rename eip7668 to eip7514 2023-09-14 13:44:32 +02:00
Hsiao-Wei Wang 417b95c3e6
Add basic activation churn limit tests 2023-09-13 17:14:26 +08:00
dapplion 298a6304de review PR 2023-09-13 11:00:22 +02:00
Hsiao-Wei Wang fd37ffcb61
Add _features/eip7668 and make linter happy 2023-09-12 21:37:09 +08:00
dapplion e6f7c99b77 Add limit inbound churn 2023-09-12 12:52:08 +02:00
dapplion 4eca8e4292 Add CRS files 2023-09-12 10:23:31 +02:00
Michael Sproul 45a3615816
Allow honest validators to reorg late blocks 2023-09-12 15:27:10 +10:00
Hsiao-Wei Wang c5c7233e49
Merge pull request #3352 from michaelsproul/boost-first-block
Apply proposer boost to first block in case of equivocation
2023-09-12 10:56:58 +08:00
terence tsao 59680c0470 remove: old warnings 2023-09-05 08:59:14 -07: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
zhiqiangxu 6f57e2bd26 "can slashable" => "can be slashable" 2023-08-09 11:13:39 +08:00
Hsiao-Wei Wang fa1015ca03
Update Capella FC too 2023-08-04 21:58:07 +08:00
Hsiao-Wei Wang 63c39dbaff
Merge branch 'dev' into pr3352 2023-08-04 14:45:47 +08:00
Hsiao-Wei Wang 56d6d1a51e
Merge pull request #3463 from ethereum/deneb-fc-tests-take-2
Deneb fork choice tests - take 2
2023-08-03 21:40:24 +08:00
Hsiao-Wei Wang e79caff2f7
Clean up `is_data_available`. Remove the stub `retrieve_blobs_and_proofs` responses. 2023-07-25 23:32:55 +08: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
Danny Ryan fa649e5430
Update specs/deneb/beacon-chain.md 2023-06-22 10:02:23 -06:00
Danny Ryan ad4f1def32
Apply suggestions from code review 2023-06-22 10:01:49 -06:00
Alex Stokes 2660af0539
move 4788 feature to deneb specs 2023-06-22 09:00:50 -06:00
Alex Stokes 57a75d033f
formatting 2023-06-21 11:40:54 -06:00
Danny Ryan 95f36d99cf
Merge pull request #3360 from ethereum/att-slot-range
EIP-7045: Increase max attestation inclusion slot
2023-06-21 08:30:26 -06:00
djrtwo ecefe2d147 pr review 2023-06-20 15:50:20 -06:00
djrtwo 668568ea22 spelling 2023-06-19 12:05:49 -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
Roberto Saltini 5e3c0107ef
Review change
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-06-18 19:07:35 +10:00
Hsiao-Wei Wang 59fd2a6400
Merge branch 'dev' into eip7002 2023-06-18 16:40:17 +08:00
Roberto Saltini 911968413f
Merge branch 'ethereum:dev' into fork-choice-changes-for-confirmaton-rule 2023-06-17 15:14:06 +10: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
Roberto Saltini 7c023cc3cf Fork choice changes to enable confirmation rule execution via beacon APIs 2023-06-15 11:07:30 +10:00
djrtwo ec4bdae2d4 build EIP 7045 into Deneb fork 2023-06-14 15:03:28 -06: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
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 19edc2d1ec
Merge branch 'dev' into eip7002 2023-06-13 19:35:02 +08: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
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
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 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 05790d380b
Merge pull request #3406 from ethereum/deneb-4844-clean
specially mark EIP4844 changes
2023-06-09 08:46:48 -06:00
Lion - dapplion efd2429b3f
Move whisk_opening_proof to block body (#3408) 2023-06-09 11:28:06 +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
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
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 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 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 aeca477398
Merge branch 'dev' into att-slot-range 2023-06-01 18:20:24 +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 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 a10affa245
Fix preset table 2023-05-24 21:15:01 +08:00
djrtwo 9bc27bad30 a couple of minor cleanups 2023-05-24 05:41:42 -06: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 7a827638e6
Ensure `verify_and_notify_new_payload` returns bool 2023-05-24 12:56:10 +08:00
Hsiao-Wei Wang ec1ee74edb
Fix typo
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-05-24 12:17:07 +08:00
Hsiao-Wei Wang 53a9221d1a
Fix ToC 2023-05-24 11:55:22 +08:00
Hsiao-Wei Wang 212a314287
Fix ToC and remove `validate_blobs_and_kzg_commitments` 2023-05-24 11:27:26 +08:00
Hsiao-Wei Wang 6b5513b43a
Merge branch 'dev' into engine-versioned-hashes 2023-05-24 11:19:56 +08:00
Hsiao-Wei Wang 289d8147be
Move `verify_and_notify_new_payload` to Bellatrix 2023-05-24 11:12:03 +08:00
Hsiao-Wei Wang 0a90b58080
Merge branch 'engine-versioned-hashes-explicit' into engine-versioned-hashes 2023-05-24 10:40:36 +08:00
Hsiao-Wei Wang 738b9818b3
Merge pull request #3375 from ethereum/networking-configs
Add networking configs to config files
2023-05-24 10:38:35 +08:00
Hsiao-Wei Wang d018635c96
Merge pull request #3350 from ethereum/remove-is_execution_enabled
Remove `is_execution_enabled` condition since Capella
2023-05-24 10:36:34 +08:00
Hsiao-Wei Wang ee09c34261
Merge pull request #3232 from ethereum/capella-fc-cleanup
Remove `is_merge_transition_block` check since Capella
2023-05-24 10:36:14 +08:00
djrtwo 68ce45b305 move epoch subscription length to config 2023-05-23 13:56:09 -06:00
Hsiao-Wei Wang dd5e6f813f
Add `make_function_abstract` to make it more general 2023-05-24 01:59:02 +08:00
Hsiao-Wei Wang 0754b94948
Merge branch 'dev' into remove-is_execution_enabled 2023-05-24 00:01:23 +08:00
Hsiao-Wei Wang 7ec5efb106
Add `### Block processing` back 2023-05-23 23:55:35 +08:00
Hsiao-Wei Wang 2192882faa
Merge pull request #3354 from g11tech/kzg-big-endian
Update the endianness of the polynomial commitments to be big endian
2023-05-23 23:43:19 +08:00
Hsiao-Wei Wang 73df1935b1
Use `verify_and_notify_new_payload` approach 2023-05-23 23:37:42 +08:00
Hsiao-Wei Wang 2eab6bfdaa
Merge branch 'dev' into engine-versioned-hashes 2023-05-23 15:21:00 +08:00
Hsiao-Wei Wang 3247bcf8f7
PR feedback from @ppopth 2023-05-23 15:16:12 +08:00
Danny Ryan fa4a103712
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-05-22 08:07:43 -06:00
djrtwo 3550821577 Merge remote-tracking branch 'origin' into att-slot-range 2023-05-22 08:06:57 -06:00
gajinder feb1968e43 add comment 2023-05-22 18:44:12 +05:30
gajinder 4458645f0c add check 2023-05-22 18:41:40 +05:30
gajinder 8ccc2570d1 apply feedback 2023-05-20 19:35:22 +05:30
gajinder a75292beeb restore the 4844 max limit to 4 2023-05-20 19:08:21 +05:30
gajinder 9f530a7741 update max commitments per block limit to blobs per tx limit from eip4844 2023-05-20 19:06:52 +05:30
gajinder 1aad9b5fa0 adding a fixed theoretical limit for commitments in a block 2023-05-20 19:06:51 +05:30
gajinder 5e43f43df1 update limit to 4844 friendly 16 blobs 2023-05-20 19:05:44 +05:30
gajinder 17dac8cab9 Update MAX_BLOBS_PER_BLOCK to a higher bound 2023-05-20 19:05:44 +05:30
Hsiao-Wei Wang d4483e4ca7
Merge branch 'dev' into eip7002 2023-05-20 01:38:08 +08:00
Hsiao-Wei Wang 8ecf89a2eb
Apply PR feedback from @djrtwo and add more tests 2023-05-20 01:37:50 +08:00
Hsiao-Wei Wang 92324ca845
Remove `is_merge_transition_complete` check from Capella 2023-05-20 01:14:10 +08:00
Hsiao-Wei Wang 32036d84a3
Fix tests 2023-05-20 00:01:44 +08:00
Hsiao-Wei Wang aaa7fc622b
Merge branch 'dev' into pr3288 2023-05-19 23:32:09 +08:00
Hsiao-Wei Wang f87e1436bf
Add networking configs to config files 2023-05-19 22:39:18 +08:00
Alex Stokes 7097dcf27a
Clarify blob subnets 2023-05-18 15:27:47 -06:00
djrtwo 6679b8a1ae attslotrange -> eip-7045 2023-05-18 10:49:57 -06:00
Suphanat Chunhapanya 08a13261c2 Use SubnetID instead of uint64 2023-05-18 21:33:45 +07:00
Suphanat Chunhapanya 2f218f8336 Specify the number of sidecar subnets
Previously the number of subnets is equal to MAX_BLOBS_PER_BLOCK which
specifies the number of blobs per block. This commit now makes the
number of subnets equal to BLOB_SIDECAR_SUBNET_COUNT instead.

The advantage of doing this is that we can change MAX_BLOBS_PER_BLOCK
without worrying about the p2p network structure and the number of subnets.
2023-05-18 21:33:45 +07:00
djrtwo f967567ec7 add a comment annotation for fork update 2023-05-17 13:15:29 -06:00
terencechain db2e613aac
Nitpick: blob -> blob sidecar 2023-05-17 11:08:33 -07:00