Commit Graph

5632 Commits

Author SHA1 Message Date
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
danny 7a20cae75e
tiny formatting in deneb p2p 2024-03-11 12:10:44 -06: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
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
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 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 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 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
Hsiao-Wei Wang 696d443f0a
Merge branch 'dev' into peer-das 2024-01-19 17:56:10 +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 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 d6a37ecfcb
Copied from Danny's ethresearch post 2024-01-15 16:48:57 +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