Commit Graph

5547 Commits

Author SHA1 Message Date
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
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