Commit Graph

435 Commits

Author SHA1 Message Date
Potuz 096e5649c9 Verify kzg-commitments length with the payload 2024-07-09 13:58:10 -03:00
Justin Traglia c402414489
Merge branch 'dev' into remove-verify-cell-kzg-proof 2024-07-09 11:32:28 -05:00
Justin Traglia 8da90b2702 Fix linter issues 2024-07-08 14:20:45 -05:00
Justin Traglia 1dbb68d3d7 Update get_data_column_sidecars to take cells/proofs 2024-07-08 14:07:53 -05:00
Potuz f97f0b4ef2 use List with limit to hash withdrawals 2024-07-08 15:12:56 -03:00
Potuz 9274a66199 fix Merkle proof generator 2024-07-08 14:36:50 -03:00
Potuz 0e94fc956b Rename changed preset 2024-07-08 14:36:50 -03:00
Potuz b556420e5a linter 2 2024-07-08 14:36:50 -03:00
Potuz 19c6f84562 linter 2024-07-08 14:36:50 -03:00
Potuz 17b7905e5c modify get_blob_sidecars to use nested proof 2024-07-08 14:36:50 -03:00
Potuz 9181e2937f modify get_blob_sidecars to take the commitments 2024-07-08 14:36:49 -03:00
Potuz e93f923bb5 fix typo last_withdrawals_root 2024-07-08 14:36:49 -03:00
Potuz bb7ce4fa6e minor fixes 2024-07-08 14:36:49 -03:00
Hsiao-Wei Wang 2af6e7d22c Minor refactoring 2024-07-08 14:36:49 -03:00
terence 614284c32a Fix p2p to use eip7732 (#14) 2024-07-08 14:36:49 -03:00
Potuz 3d48e72570 Deal with attestations from previous forks 2024-07-08 14:36:49 -03:00
Potuz 53aaf26ba2 Fix python execution 7 2024-07-08 14:36:49 -03:00
Potuz 603cf53fab add fork fixes 2024-07-08 14:36:49 -03:00
Hsiao-Wei Wang b2d6e68e62 Fix and add `EIP7732_FORK_EPOCH` and `EIP7594_FORK_VERSION` 2024-07-08 14:36:49 -03:00
Potuz a11ffb5278 use definitive EIP number 2024-07-08 14:36:49 -03:00
Potuz 181ce5e9dc add type annotation 2024-07-08 14:36:49 -03:00
terence 5013e5724e Fix epbs pre fork (#13) 2024-07-08 14:36:49 -03:00
Potuz d7a199fe09 Fix python execution 3 2024-07-08 14:36:49 -03:00
Potuz 4500eabf8c Fix python execution 2 2024-07-08 14:36:49 -03:00
Potuz 2a43ce54d6 doctoc 2024-07-08 14:36:49 -03:00
Potuz ad8d71dbdb Fix python execution 1 2024-07-08 14:36:49 -03:00
Potuz 4997588793 add fake value to KZG indices 2024-07-08 14:36:49 -03:00
Potuz 752a804db6 use boolean instead of bool in forkchoice 2024-07-08 14:36:49 -03:00
Potuz 95dd081357 codespell 2024-07-08 14:36:49 -03:00
Potuz ed7f17e0bf Add gas_limit to the execution payload header 2024-07-08 14:36:49 -03:00
Potuz 25a0fdc991 doctoc 2024-07-08 14:36:49 -03:00
DanGoron 51e47ff6e4 small typo fixes (#12) 2024-07-08 14:36:49 -03:00
Potuz b7b1de93e9 Verify withdrawals only when present 2024-07-08 14:36:49 -03:00
Potuz a01f124286 modify INTEVALS_PER_SLOT 2024-07-08 14:36:49 -03:00
terence 6e02cb4ea4 Fix epbs consensus spec to be executable (#10)
Fix epbs consensus spec to be executable
2024-07-08 14:36:49 -03:00
Potuz 0d082fdc0e Add comment about attestations and sync committee duties 2024-07-08 14:36:49 -03:00
Potuz 6d6ef7baa4 Fork logic 2024-07-08 14:36:49 -03:00
Potuz cd7dbef16f P2P changes 2024-07-08 14:36:49 -03:00
Potuz 614e14ed8a Honest Builder Guide 2024-07-08 14:36:49 -03:00
Potuz 971c57c8ea Honest validator guide 2024-07-08 14:36:49 -03:00
Potuz 673c75cab3 Forkchoice changes 2024-07-08 14:36:49 -03:00
Potuz 104fbc7372 beacon chain changes 2024-07-08 14:36:49 -03:00
Justin Traglia b9e7b031b5 Update algorithm & remove check 2024-07-08 09:00:14 -05:00
Justin Traglia 228752c0d9 In batch cell verification, check if there are zero cells 2024-07-05 15:31:07 -05:00
Justin Traglia 0daa2acdff Remove verify_kzg_proof_multi_impl too 2024-07-02 17:05:40 -05:00
Justin Traglia c078a97f0c Remove verify_cell_kzg_proof (non-batch) 2024-07-02 15:38:15 -05:00
Benedikt Wagner 83da3807ab
EIP7594: Do universal verification in verify_cell_kzg_proof_batch() (#3812)
* restructure verify_cell_kzg_proof_batch a bit

* first draft of universal verification equation

* add one more empty line to make linter happy

* make linter happy

* more testcases for verify_cell_kzg_proof_batch

* verify_cell_kzg_proof_batch: derive coefficient via hash

* rename verify_cell_kzg_proof_batch_challenge -> compute_verify_cell_kzg_proof_batch_challenge

* verify_cell_kzg_proof_batch: editorial + some refactoring

* Improve documentation and variable naming.

* remove k_i from code and doc

---------

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-06-28 18:02:20 +03:00
kevaundray a3a6c916b2
Remove proof parameter from `recover_cells_and_kzg_proofs` (#3819) 2024-06-27 14:17:14 -05:00
Hsiao-Wei Wang 0a49572799
Merge pull request #3782 from cskiraly/peer-das-sampling
PeerDAS sampling clarifications
2024-06-27 19:27:57 +08:00
Hsiao-Wei Wang 258c2c9020
Merge pull request #3794 from cskiraly/peer-das-reconstruction
EIP-7594: clarifying reconstruction and cross-seeding
2024-06-27 18:58:23 +08:00
Csaba Kiraly 1ad381dccb
adding get_extended_sample_count docsstring
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-06-27 10:28:21 +02:00
Csaba Kiraly 78b583d8b0
clarify use of get_extended_sample_count
Here we assume uniform random selection without replacement.
If other methods are used, the target false positive threshold
is the main rule to follow.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-06-27 09:48:32 +02:00
Csaba Kiraly 17dfb9ae57
fix get_extended_sample_count proc signature
Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>
2024-06-27 09:30:39 +02:00
Csaba Kiraly 4539265c55
moving part of text in custody section
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-06-25 10:36:53 +02:00
Hsiao-Wei Wang 1f87bbeac0
Merge branch 'dev' into pr3782 2024-06-25 16:21:00 +08:00
Hsiao-Wei Wang beedf852cb
Revert division change and add comments 2024-06-25 16:15:16 +08:00
Hsiao-Wei Wang fb020456cb
Add `get_extended_sample_count` unit tests 2024-06-19 02:18:29 +08:00
Hsiao-Wei Wang 483a286ba5
Remove `assert len(missing_cell_indices) != 0` check 2024-06-14 23:57:33 +08:00
Benedikt Wagner 77eac20df6
Update specs/_features/eip7594/polynomial-commitments-sampling.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2024-06-13 17:20:04 +02:00
Benedikt Wagner 1c675ae4a1
Update polynomial-commitments-sampling.md - Fix dead link 2024-06-13 16:30:05 +02:00
Hsiao-Wei Wang 43d96cff3f
Merge pull request #3772 from nalepae/patch-3
EIP-7594 - Update ENR record
2024-06-12 23:16:04 +08:00
kevaundray 6efab19ad0
chore: Refactor cell recovery code (#3781)
* multi:

- Remove shift_polynomial_coeff
- Remove recover_shifted_data
- Remove recover_original_data
- Move `zero_poly_eval_brp ` under sanity check comment as its only used for sanity checking

* chore: remove sanity check -- this was doing a wasteful `compute_root_of_unity` operation

* chore: add previous sanity check as a unit test

* chore: copy values python was taking a reference, so it passes in our regular codepaths but not in isolated test

* chore: add coset_fft test

* Update specs/_features/eip7594/polynomial-commitments-sampling.md

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>

* Update specs/_features/eip7594/polynomial-commitments-sampling.md

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>

* chore: linter

* chore: asn (switch to bls_modular_inverse)

* chore: (ben) rename func to test_construct_vanishing_polynomial

* chore: (ben) rename `extended_evaluations_coeffs` to `extended_evaluation_times_zero_coeffs`

* chore: compute `roots_of_unity_extended` in recover_data method

* chore: add more comments explaining whats happening in recover_data

* chore: compute_zero_poly_coeff in recover_data

* chore: make lint

* chore: add doc comment to coset_fft_field

* chore: (ben) add code to generate the vanishing polynomial when all cells are missing

* chore: remove handling of edge case when constructing a vanishing polynomial

* chore: rename H(x) to Q_3(x)

* chore: remove trailing whitespace

* chore: add whitespace between comments

* chore: (asn) add assert that num missing cells is not 0

* chore: (justin) address comments

* chore: merge resolution

* chore: fixup remaining IDs -> indices

* chore: use indice nomenclature in tests

---------

Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-06-11 20:26:19 +03:00
Justin Traglia 93dfcdaf4c Remove compute_cells from list of public methods 2024-06-11 19:17:46 +03:00
George Kadianakis 10bac07b39 Remove compute_cells method 2024-06-11 19:17:43 +03:00
George Kadianakis 7b7ada7d46
Merge pull request #3797 from jtraglia/rename-cellid-to-cellindex
Rename `CellID` to `CellIndex`
2024-06-11 18:45:32 +03:00
Benedikt Wagner c5e9c3cb4e
Add public methods section in KZG spec (#3795) 2024-06-11 07:43:40 -05:00
Justin Traglia d137553f96 Rename CellID to CellIndex 2024-06-11 07:41:52 -05:00
Justin Traglia 5ace424cd8
`recover_cells_and_kzg_proofs` & matrix refactor (#3788)
* Recover cells and proofs & matrix clean up

* Fix table of contents

* Update reference tests generator

* Update test format

* Remove unused imports

* Fix some minor nits

* Rename MatrixEntry's proof to kzg_proof

* Move RowIndex & ColumnIndex to das-core
2024-06-11 14:52:24 +03:00
Csaba Kiraly 6711acf3e2
clarifying reconstruction and cross-seeding
- when should a node reconstruct
- how to cross-seed for subscribed and unsubscribed topics

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-06-11 02:31:22 +02:00
Csaba Kiraly 2ab4f1e12e
get_extended_sample_count: use SAMPLES_PER_SLOT constant
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-06-10 11:16:06 +02:00
b-wagn ac105f472a update polynomial-commitments-sampling.md -- fix shift_polynomialcoeff 2024-06-06 16:36:03 +02:00
Csaba Kiraly 4c57399887
self-contained get_extended_sample_count
Importing scipy is not preferred. This is a self-contained
version. Eventually an import of math and use of math.comb
makes it simpler.
Solving other formatting issues as well.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-06-04 09:41:29 +02:00
Csaba Kiraly 436e58e3f8
add get_extended_sample_count helper function
add LossyDAS sample count generation helper function

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-05-29 14:27:31 +02:00
Csaba Kiraly 5f3beca871
remove LossyDAS naming from spec
While the technique was introduced as LossyDAS, we don't need the name
in the specification itself.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-05-29 11:08:52 +02:00
Csaba Kiraly a04cd87c38
fix the (source-view) formatting of the table
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-05-29 11:04:10 +02:00
Csaba Kiraly 4e1d566c43
improve candidate peer text
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-05-29 11:01:50 +02:00
Hsiao-Wei Wang 7b4d23c0ba
fix toc 2024-05-28 22:57:52 +08:00
Csaba Kiraly 8d332788b9
clarify the use of LossyDAS
Clarify that what matters is the false positive threshold, allowing
different sampling strategies as protocol compliant behavior.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-05-28 13:54:27 +02:00
Csaba Kiraly b848ca6dc7
improved sampling description
- describe sample selection
- describe sample queries

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2024-05-28 13:54:27 +02:00
Guillaume Ballet 8737e69c21
use execution_witness_root in header 2024-05-28 10:39:35 +02:00
Hsiao-Wei Wang 744ae2e687
Add EIP-6800 linter checks.
Fix the lint errors.
Remove custom type `StateDiff` and then use `List[StemStateDiff, MAX_STEMS]` directly in `ExecutionWitness`.
2024-05-28 16:24:11 +08:00
Hsiao-Wei Wang fd246d8ebf
Merge branch 'dev' into pr3230 2024-05-28 12:55:33 +08:00
Guillaume Ballet 0fd49c1a32 fix spelling error 2024-05-27 14:10:58 +02:00
Guillaume Ballet 7fbbb252d8 rebase on top of deneb 2024-05-27 12:46:30 +02:00
Guillaume Ballet 5c13f5c651
fix depth+extension serialization type
Co-authored-by: g11tech <develop@g11tech.io>
2024-05-27 11:53:38 +02:00
Manu NALEPA 64b93c9361
Fix table. 2024-05-17 17:47:38 +03:00
Manu NALEPA f7bb8aab1a
EIP-7594 - Update ENR record
Proposal for https://github.com/ethereum/consensus-specs/issues/3744
2024-05-17 17:31:08 +03:00
George Kadianakis fdeff744ff
EIP-7594: Add a missing check and a missing test vector (#3765) 2024-05-14 17:18:14 +03:00
Nishant Das 8f73a47423
Update p2p-interface.md 2024-05-09 16:14:52 +08:00
Nishant Das b9befda08b
Update p2p-interface.md 2024-05-09 16:03:55 +08:00
Hsiao-Wei Wang 313a64e9c1
Merge pull request #3748 from ethereum/fix-get_custody_columns
Fix `get_custody_columns`
2024-05-07 22:43:46 +08:00
Hsiao-Wei Wang 9ffd08a9dc
The return values MUST be sent in `(slot, column_index)` order. 2024-05-07 20:28:34 +08:00
Hsiao-Wei Wang fdad206f3c
Apply @dankrad's suggestion 2024-05-07 20:26:56 +08:00
Hsiao-Wei Wang 950136c50d
Apply suggestions from code review
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2024-05-07 18:30:28 +08:00
Hsiao-Wei Wang 34756a81c6
Add `DataColumnSidecarsByRange` v1 Req/Resp 2024-05-06 19:11:23 +08:00
Hsiao-Wei Wang 9c1acbb5e5
Fix `get_custody_columns` 2024-05-06 17:25:47 +08:00
George Kadianakis 1ef75e0875 Be consistent between ids and indices 2024-05-03 19:00:51 +03:00
Kevaundray Wedderburn 5699eedd4d pad column_indices 2024-05-03 16:43:11 +01:00
kevaundray e7b49dc670
chore: Add type casts reducing the diff for #3697 (#3734) 2024-04-29 08:14:55 -05:00
Hsiao-Wei Wang a4e04ebf64
Misc fix 2024-04-27 12:11:29 +08:00