Commit Graph

5600 Commits

Author SHA1 Message Date
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
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
Mikhail Kalinin 3e2650811e
Introduce UINT64_MAX_SQRT 2024-02-16 13:39:46 +06:00
Hsiao-Wei Wang cdb6725275
Merge pull request #3596 from fradamt/patch-4
fix typo
2024-02-16 11:34:22 +08:00
Hsiao-Wei Wang f82a3af978
Merge pull request #3600 from ethereum/integer_squareroot
Handle `integer_squareroot` bound case
2024-02-16 02:47:25 +08:00
Hsiao-Wei Wang e3d91d8e2a
Rename `MAX_UINT_64` -> `UINT64_MAX` 2024-02-15 15:00:56 +08:00
Hsiao-Wei Wang 2faa44b6b6
Merge pull request #3591 from asn-d6/peerdas_refactor_recovery_polynomial
peerDAS: Initial refactor of recover_polynomial()
2024-02-14 21:40:37 +08:00
Hsiao-Wei Wang 90afb238ed
Update specs/_features/eip7594/polynomial-commitments-sampling.md 2024-02-14 20:51:50 +08:00
Hsiao-Wei Wang 7076fb2b75
Handle `integer_squareroot` bound case 2024-02-14 17:18:05 +08:00
Etan Kissling 4e2578dfe4
Schedule Deneb for Mainnet
As discussed in https://github.com/ethereum/pm/issues/951, schedule
Deneb for epoch 269568.
2024-02-08 15:32:28 +01:00
fradamt ea85aa72be
fix typo 2024-02-08 13:16:49 +01: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 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
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
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 f1dff5f676
Merge pull request #3581 from ethereum/reduce-len-call
Optimization: reduce `len()` calls in `add_polynomialcoeff`
2024-01-20 14:32:13 +08:00
Hsiao-Wei Wang 4fe36dec58
Add transition test case of non-empty pre-state `historical_roots` 2024-01-18 00:10:45 +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
danny a35d783b1c
Merge pull request #3543 from etan-status/gv-finstore
Use fork choice to determine `finalized_checkpoint` in gossip validation
2024-01-16 09:06:32 -07:00
danny 8983893009
Merge pull request #3552 from etan-status/gv-alignaggregate
Align gossip validation for aggregates with single attestations
2024-01-16 08:59:02 -07:00
danny 9a54a32238
Merge pull request #3431 from saltiniroberto/fork-choice-changes-for-confirmaton-rule
Confirmation rule prerequisite - fork choice filter change
2024-01-16 08:49:21 -07: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
Etan Kissling 82143e1977
Also bump `EXECUTION_PAYLOAD_GINDEX` 2024-01-15 12:48:22 +01:00
Hsiao-Wei Wang 0b5bb1ae3f
Merge branch 'dev' into pr3563 2024-01-15 19:09:28 +08:00
Hsiao-Wei Wang b594347780
Merge pull request #3549 from etan-status/lc-finsend
Gossip additional `LightClientFinalityUpdate` on new supermajority
2024-01-15 18:58:24 +08:00
Hsiao-Wei Wang 868a600a57
Merge pull request #3537 from etan-status/lc-gindexname
Rename `_INDEX` generalized index constants to `_GINDEX`
2024-01-15 18:57:48 +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
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