Commit Graph

5525 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 22da92e597
Refactor the spec and add more test cases 2023-04-28 18:26:42 +08:00
Hsiao-Wei Wang 745d529598
Add `compute_subscribed_subnets` unittests and fix typing errors 2023-04-25 12:57:49 +08:00
Ben Edgington b7f3d37a52 Move is_previous_epoch_justified 2023-04-21 09:16:51 +01:00
Danny Ryan 3c8114cf4c
Merge pull request #3319 from ralexstokes/feat/eip-4788
add `EIP-4788` feature
2023-04-20 08:01:34 -06:00
Danny Ryan 5e1153311b
Merge pull request #3307 from dapplion/reuse-indexes
EIP6914 - Reuse indexes with full sweep
2023-04-19 17:57:12 -06:00
dapplion 498fbd04a2 rename SAFE_EPOCHS_TO_REUSE_INDEX 2023-04-20 08:52:25 +09:00
dapplion accf99fba3 rename to eip6914 2023-04-20 08:47:49 +09:00
Hsiao-Wei Wang 03a3e4082a
Fix p2p-interface.md ToC 2023-04-19 19:10:46 +08:00
Hsiao-Wei Wang 21d4370fd5
Add docs about how to add a new feature proposal in consensus-specs and online viewer support (#3239)
* Add docs

* update link to template

* Add more info

* Try mkdocs

* Create docs.yml

* Update docs.yml

* update

* update

* update

* Try mkdocs

* Add "B: Make it executable for pytest and test generator" section

* Use mkdocs-material

* Use `mkdocs-awesome-pages-plugin` to create custom specs order

* Add toc permalink

* Update site_url

* Add .pages files for navigations. Update highlight style

* Dark theme

* Fix list indent
2023-04-18 18:31:34 +08:00
Roberto Saltini ffb84598cf Fixed doc in get_checkpoint_block 2023-04-18 16:03:10 +10:00
Roberto Saltini c985605973 Fix copy and past error 2023-04-18 13:49:08 +10:00
Roberto Saltini 36fcb81b88 Break long statement into two statements 2023-04-18 13:26:16 +10:00
Roberto Saltini 334114d9d3 Rename get_ancestor_at_epoch_boundary to get_checkpoint_block 2023-04-18 13:14:53 +10:00
Roberto Saltini fdf2dc7f10 Merge remote-tracking branch 'upstream/dev' into add_get_boundary_block 2023-04-18 13:11:08 +10:00
Age Manning 6e423f6c42
Stagger node rotations 2023-04-12 11:29:48 +10:00
Alex Stokes 1c5b9fddaf
add `EIP-4788` feature 2023-04-11 13:34:42 +09:00
Roberto Saltini 41386092b7 Apply changes to p2p-interface.md 2023-04-08 14:00:01 +10:00
Mikhail Kalinin 3e7e780b77
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-04-06 17:04:49 +06:00
Mikhail Kalinin 108f1eed86 Rebase EIP6110 to Deneb 2023-04-06 16:53:31 +06:00
Marius van der Wijden 8fafc6c695
deneb: switch blob tx type to 0x03 2023-04-06 11:20:07 +02:00
Age Manning a0d03378fa
Correct subnet subscription duration variable 2023-04-06 12:40:55 +10:00
Hsiao-Wei Wang 4cac761818
make linter happy 2023-04-05 11:38:20 +08:00
Hsiao-Wei Wang cdcf45855a
Merge branch 'dev' into pr3308 2023-04-05 11:19:09 +08:00
Suphanat Chunhapanya 912c9b37a1 Fix typos 2023-04-04 13:33:42 +07:00
dapplion 622c9b97ba Fix CI 2023-04-04 12:00:09 +09:00
dapplion 25ea243859 PR comments 2023-04-04 11:45:08 +09:00
Roberto Saltini e255d09840 Apply changes to Bellatrix and Daneb 2023-03-31 10:52:52 +11:00
Hsiao-Wei Wang 0dd8db76cd
Make linter happy. Add `SUBNET_DURATION_IN_EPOCHS` definition. 2023-03-30 14:51:41 +08:00
Age Manning 7cb1630902
Attnet revamp draft 2023-03-30 15:32:35 +11:00
dapplion 3d9c87b27c Move to misc helpers 2023-03-30 09:44:34 +09:00
dapplion f696b30608 Address PR review 2023-03-30 09:11:36 +09:00
Roberto Saltini c7029ce19e Rename get_epoch_boundary_block to get_ancestor_at_epoch_boundary 2023-03-29 12:40:58 +11:00
dapplion 314b040fff Reduce line len 2023-03-28 17:45:52 +09:00
Hsiao-Wei Wang cd7783e59d
EIP-6110: Fix `compute_fork_version` and add light client specs 2023-03-28 15:08:03 +08:00
dapplion c1273bbfa4 Add epoch > REUSE_VALIDATOR_INDEX_DELAY condition 2023-03-28 15:46:01 +09:00
dapplion ee3e1ac63e Apply review comments 2023-03-28 15:34:07 +09:00
Hsiao-Wei Wang 8acc31adce
Fix the default testing genesis by setting `deposit_receipts_start_index` and fork versions 2023-03-28 14:23:23 +08:00
Roberto Saltini ddbd82e1be Add toc 2023-03-28 15:51:34 +11:00
Roberto Saltini 201f113b50 Introduce get_epoch_boundary_block 2023-03-28 15:43:48 +11:00
dapplion f9b359be09 Reuse indexes with full sweep 2023-03-28 12:44:21 +09:00
omahs 3115d1140b
Fix: typos 2023-03-25 13:14:57 +01:00
terence tsao a9abfeb217 Denbeb -> Deneb 2023-03-23 17:21:41 -07:00
Hsiao-Wei Wang 334601c032
Merge pull request #3299 from asn-d6/inv_no_inputs
Reject zero inputs in bls_modular_inverse()
2023-03-20 14:18:58 +08:00
Hsiao-Wei Wang 18eb1fa334
Set `CAPELLA_FORK_EPOCH` to `194048` 2023-03-20 13:48:49 +08:00
George Kadianakis 0e0403d0e2 Reject zero inputs in bls_modular_inverse() 2023-03-17 11:50:53 +02:00
Hsiao-Wei Wang de57f2ac91
Merge pull request #3284 from etan-status/lc-forkversion
Check correct fork version in LC sync protocol
2023-03-16 09:08:01 +08:00
Danny Ryan 985fcc2525
Merge pull request #3283 from ethereum/deneb-crypto-coverage
Deneb crypto helpers test coverage
2023-03-15 11:28:43 -06:00
Danny Ryan 5977f36fef
minor nits from code review 2023-03-15 10:54:49 -06:00
Danny Ryan 41f4472ad5
Merge pull request #3291 from kevaundray/patch-10
Deneb : Change description for blob
2023-03-15 10:51:39 -06:00
Danny Ryan a0eb23f108
Merge pull request #3290 from ethereum/fork-choice-upgrade
Fork choice upgrade
2023-03-15 10:51:09 -06:00
kevaundray 8fd22ab504
code review 2023-03-15 15:25:09 +00:00
dankrad 3141806100
Merge branch 'dev' into deneb-crypto-coverage 2023-03-14 22:45:06 +00:00
Dankrad Feist 3e281e7457
Alternative for linter 2023-03-14 22:22:23 +00:00
Dankrad Feist 2d4bfabceb
Correct signature of get_blobs_and_kzg_commitments 2023-03-14 22:16:41 +00:00
Dankrad Feist ff7a6c5d0e
Add description when to use verify_sidecar_signature 2023-03-14 22:14:31 +00:00
Aditya Asgaonkar 1a2967a542 Apply suggestions from @djrtwo 2023-03-14 14:49:41 -07:00
kevaundray 637ef34133
fix : change description for blob 2023-03-14 21:00:20 +00:00
Aditya Asgaonkar 3de96f7a19
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-03-14 13:54:57 -07:00
Danny Ryan f7837e84e5
Merge pull request #3275 from tbenr/patch-1
Add `blob_sidecar` gossip rule for parent slot
2023-03-14 12:15:38 -06:00
Danny Ryan b53392b463
Merge pull request #3177 from mkalinin/deposits
In-protocol deposits flow (no queue approach)
2023-03-14 11:33:36 -06:00
Danny Ryan 0ae18d86e3
Update specs/_features/eip6110/validator.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-03-14 11:22:12 -06:00
Aditya Asgaonkar 23c5b7c66e fix typo 2023-03-13 13:48:34 -07:00
Aditya Asgaonkar e9551715d5 large fork choice upgrade 2023-03-13 11:52:43 -07:00
Lion - dapplion df4ba47e63
Update beacon-chain.md 2023-03-13 08:51:02 +08:00
Dankrad Feist cc284b2b60
Toc 2023-03-12 23:11:40 +00:00
Dankrad Feist 96ad61bcec
Add tests for blob sidecar signature 2023-03-12 23:05:01 +00:00
Dankrad Feist 29b5309f7d
Add proofs to validate_blobs_and_kzg_commitments 2023-03-11 23:02:35 +00:00
Dankrad Feist 5e74c51411
Tests for validate_blobs_and_kzg_commitments and fix 2023-03-11 22:34:41 +00:00
kevaundray 6b69450992
fix typo in type of KZG_SETUP_LAGRANGE 2023-03-11 15:44:42 +00:00
dapplion 47f078fc1f Move change to deneb 2023-03-11 20:28:49 +08:00
dapplion 1c35eb1c33 Lock voluntary_exit domain on capella 2023-03-10 14:37:18 +08:00
dapplion 21cf61ea8f De-duplicate range references in BlobSidecarsByRange 2023-03-10 11:10:33 +08:00
Mikhail Kalinin 0da79bdbfd Provide validator guide for EIP6110 2023-03-09 21:05:07 +06:00
Ben Edgington 7f74a08a6c Fix trailing whitespace 2023-03-09 11:07:01 +00:00
Etan Kissling 54c7df5bbf
Fix lint 2023-03-08 15:42:56 +01:00
Etan Kissling 43e714e60f
Check correct fork version in LC sync protocol
- Sync committee is determined by signature_slot
- Signature fork version is determined by max(signature_slot, 1) - 1
- Attested block fork version can be anything < signature_slot

Old logic incorrectly derived signature fork version from signature_slot
and did not subtract a slot. Extended tests to check this edge case.
2023-03-08 15:34:56 +01:00
Justin Traglia ccfe576dcc
Add KZG tests for input length inputs (#3282) 2023-03-07 21:56:55 +00:00
dankrad 15033d28b9
Modify compute_[blob_]kzg_proof to remove superfluous computations (#3280)
Add parameter `commitment` to `compute_blob_kzg_proof` and output `y` to `compute_kzg_proof`
2023-03-07 17:50:56 +00:00
kevaundray 1b4840c967
Fix comment for `evaluate_polynomial_in_evaluation_form` to reflect that it can now also be used in the domain 2023-03-04 19:20:01 +00:00
dankrad 86fb82b221
Test generators for kzg-4844 libraries (#3274)
Arkworks integration and test generators for kzg-4844 libraries
2023-03-02 20:49:10 +00:00
Mikhail Kalinin 00557c5649 Remove unnecessary eth1_deposit_index bump 2023-03-02 17:31:12 +06:00
Mikhail Kalinin 13f3654296 Apply suggestions from @djrtwo 2023-03-02 17:29:22 +06:00
Mikhail Kalinin c445fa9b37
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-03-02 15:50:08 +06:00
Stefan Bratanov 3259922a9e change usage of MIN_EPOCHS_FOR_BLOBS_SIDECARS_REQUESTS 2023-03-01 17:10:58 +00:00
Danny Ryan 7538e9a4f3
Merge branch 'dev' into 4844-remove-empty-container 2023-03-01 08:58:42 -07:00
terencechain a236770b07
EIP4844: Use `MAX_REQUEST_BLOB_SIDECARS` 2023-02-28 15:17:40 -08:00
Hsiao-Wei Wang 4a59bcfaa9
Merge branch 'dev' into deposits 2023-03-01 00:10:30 +08:00
Hsiao-Wei Wang 6baa9531a4
Merge pull request #3250 from benjaminion/get-weight
Change get_latest_attesting_balance() to get_weight()
2023-02-28 21:29:22 +08:00
Mikhail Kalinin 7bb65f88d9 Cosmetic fix 2023-02-28 17:18:07 +06:00
Mikhail Kalinin fae77eb53d Apply @hwwhww suggestions 2023-02-28 16:36:46 +06:00
Mikhail Kalinin de5be63399
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-02-28 16:14:47 +06:00
Enrico Del Fante 0879c46a34
Add `blob_sidecar` gossip rule for parent slot
Similarly to the check we do on Block gossip, we should check slot consistency with the parent block, so we can independently reject wrong block and blobb_sidecar when the rule is violated.
2023-02-27 20:12:31 +01:00
Danny Ryan 429dc5daba
Merge pull request #3271 from henridf/patch-2
Update fork-choice.md
2023-02-27 09:20:25 -07:00
djrtwo 5474b34466 Merge branch 'henridf-max-request-blobs' into dev 2023-02-27 09:19:23 -07:00
Danny Ryan d3d7ad6e97
Merge pull request #3270 from ethereum/deneb-fork
Remove the outdated description in Deneb fork
2023-02-27 09:15:24 -07:00
Danny Ryan a26556147c
Merge pull request #3268 from henridf/block-blobc
Minor typo/pasta fixes in blob_sidecar_{index} validation
2023-02-27 09:12:40 -07:00
henridf 136c78ddc7
Update fork-choice.md
Fix outdated (likely a Bellatrix cut-paste) description of change.
2023-02-24 14:07:16 +01:00
Hsiao-Wei Wang 9d690a4cb2
Fix typo 2023-02-24 17:58:10 +08:00
Mikhail Kalinin 703fdfc7c7 Fix linter 2023-02-23 21:31:19 +06:00
Mikhail Kalinin 7d6831ec86 Fix initialize_beacon_state_from_eth1 definition 2023-02-23 21:23:52 +06:00
Hsiao-Wei Wang e7035dacf5
Remove the outdated statement 2023-02-23 22:46:55 +08:00
Hsiao-Wei Wang a1daac098c
Make EIP-6110 executable and fix linter errors 2023-02-23 22:34:32 +08:00
Mikhail Kalinin b22c89244a Cosmetic renaming 2023-02-23 14:09:01 +06:00
Mikhail Kalinin 23c10cfd7f Remove state.deposit_receipt_next_index variable 2023-02-23 13:53:15 +06:00
Henri DF 970da9efd2 Clean up max request blobs constants
The spec currently defines `MAX_REQUEST_BLOB_SIDECARS` as the "maximum
number of blob sidecars in a single request", but then later in the
RPC description defines the max is `MAX_REQUEST_BLOB_SIDECARS *
MAX_BLOBS_PER_BLOCK`.

Clean this up by defining `MAX_REQUEST_BLOB_SIDECARS` to be the actual max.
2023-02-22 17:20:44 +01:00
Henri DF d8111d7d3b Refer to "sidecar" consistently 2023-02-22 16:51:56 +01:00
Henri DF 837233a1be Fix reference to block->sidecar
(This was probably a cut-n-paste from block validation)
2023-02-22 16:50:56 +01:00
Mikhail Kalinin 08c7287387 Get rid of pending_deposits queue 2023-02-22 18:33:05 +06:00
kasey 9391f3ccfc fix MAX_REQUEST_BLOBS_SIDECARS typo 2023-02-21 21:48:21 -06:00
Mikhail Kalinin d5c7474d4d Move EIP6110 to features 2023-02-21 17:31:27 +06:00
Mikhail Kalinin e64607f7db Merge branch 'dev' into deposits 2023-02-21 17:26:30 +06:00
Age Manning 95401cf6e4
Clarify context bytes in the RPC methods in 4844 2023-02-21 01:10:40 +08:00
Danny Ryan ad58bfc304
Merge pull request #3244 from arnetheduck/back-to-the-decoupled-future
EIP-4844: Free the blobs
2023-02-20 09:40:56 -07:00
Jacek Sieka ac0ec660d3
add parent validation requirement
sama as block
2023-02-20 16:35:52 +01:00
Hsiao-Wei Wang 7fd36f7ce0
Merge pull request #3262 from kevaundray/patch-7
EIP4844: Remove repeated computation in polynomial-commitments.md
2023-02-20 22:45:31 +08:00
Jacek Sieka 4e2a9920f1
Update specs/deneb/p2p-interface.md
Co-authored-by: g11tech <develop@g11tech.io>
2023-02-20 12:15:53 +01:00
kevaundray 83cf02f668
Remove repeated computation 2023-02-20 10:57:39 +00:00
kevaundray 0632a5a32c
Update specs/deneb/polynomial-commitments.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-02-20 10:54:16 +00:00
Jacek Sieka 54d2559eb5
remove producer reorg on multi-blob
* also, use root/index for uniqueness
2023-02-18 17:45:16 +01:00
kevaundray c1a2962b31
Update polynomial-commitments.md 2023-02-18 15:09:43 +00:00
Danny Ryan 9dd7d2ba2f
fix Blob pluralization in a few places 2023-02-17 11:59:56 -07:00
Hsiao-Wei Wang a562710fe6
Fix `compute_quotient_eval_within_domain` overflow 2023-02-17 01:22:11 +08:00
Hsiao-Wei Wang a7e45db9ac
Fix `verify_kzg_proof_batch` and the tests 2023-02-16 22:14:14 +08:00
Hsiao-Wei Wang f23ed0cdbc
Make linter happy 2023-02-16 21:11:18 +08:00
Hsiao-Wei Wang c2315c90a3
Merge branch 'dev' into pr3244 2023-02-16 21:07:36 +08:00
Hsiao-Wei Wang ab11a014ee
Merge pull request #3248 from ethereum/mv-features
Move experimental features to `specs/_features` folder
2023-02-16 17:03:19 +08:00
Jacek Sieka 5fe857b209
fixes 2023-02-16 09:20:40 +01:00
Jacek Sieka 24a19bb886
fixes
* fight the test suite
* clarify who orphans the block
* must supply all blobs of a block in range request
2023-02-16 09:12:34 +01:00
Jacek Sieka 639ff9b2b0
Update specs/deneb/p2p-interface.md
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
2023-02-16 08:30:40 +01:00
Jacek Sieka c39fda19c6
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
2023-02-16 08:18:52 +01:00
Dankrad Feist 078d62e6ff
Simplify compute_challenge 2023-02-15 19:48:58 +00:00
Dankrad Feist 48e7be7dd0
Fix doctoc 2023-02-15 18:23:04 +00:00
dankrad adb5134266
Merge branch 'dev' into kzg_multi_verify 2023-02-15 18:10:39 +00:00
Ben Edgington 7637158a2f Change get_latest_attesting_balances() to get_weight() 2023-02-15 11:39:33 +00:00
Jacek Sieka f0dc126602
doctoc 2023-02-15 09:10:31 +01:00
Jacek Sieka a5f61fc173
correct function 2023-02-15 08:57:23 +01:00
Jacek Sieka da34af97d4
simplify blob verification, range request
* validate blobs using raw types
* remove `BlobSidecars` and send flattened list of `BlobSidecar`
instances instead
2023-02-15 08:51:57 +01:00
Jacek Sieka 3a37c3c497
Allow clients to orphan blocks from spammy proposers
Proposers that spam the blob topic with multiple blob versions, some of
which are invalid, MAY see their block orphaned.
2023-02-15 08:00:39 +01:00
Dankrad Feist 4086a09d0f
multi -> batch 2023-02-14 21:21:46 +00:00
Dankrad Feist c3cb7fa773
Comment on compute_challenge, assert on verify_blob_kzg_proof_multi 2023-02-14 21:12:02 +00:00
dankrad d8509e42c6
Update specs/deneb/polynomial-commitments.md
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-02-14 20:59:41 +00:00
dankrad aafbd45a19
Update specs/deneb/polynomial-commitments.md
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-02-14 20:59:24 +00:00
Dankrad Feist 3a6fccd389
Remove double hashing 2023-02-14 20:17:25 +00:00
Dankrad Feist 855cf062f0
Remove additional function 2023-02-14 20:07:34 +00:00
dankrad c49a2c2855
Update specs/deneb/polynomial-commitments.md
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-02-14 20:00:58 +00:00
Hsiao-Wei Wang db5a168f3b
Move experimental features to `specs/_features` folder 2023-02-14 23:41:40 +08:00
Danny Ryan 89f2eae318
Merge pull request #3218 from protolambda/excess-data-gas-field-position
eip4844: move excess data gas field to end of execution payload for merkle proof path compat
2023-02-14 07:50:25 -07:00
Jacek Sieka 58207c1c05
Upper limit on indices 2023-02-14 14:18:29 +01:00
George Kadianakis fc4e1a9acf
EIP4844: compute_kzg_proof() can now create proofs within the domain (#3243)
This will be used by optimistic rollups to create proofs about past data
2023-02-14 14:50:44 +02:00
Jacek Sieka e6b8324e25
sidecar domain 2023-02-14 13:39:59 +01:00
Jacek Sieka c8719f8524
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-02-14 13:32:18 +01:00
Dankrad Feist 86d955ab7f
Call compute_challenge with polynomial as argument 2023-02-13 17:17:41 +00:00
Dankrad Feist 7f1748b3c8
Change blob verification fiat-shamir to single blob 2023-02-13 17:16:15 +00:00
Dankrad Feist b76ea49fec
Add KZG multi verify function 2023-02-13 17:12:51 +00:00
Potuz f91b9863ce
Simplify commitee weight computation 2023-02-13 17:08:52 +00:00
Paul Harris 470c1b14b3
fix references to eip4844 2023-02-13 17:08:51 +00:00
Paul Harris 901303f14f
Replaced EIP4844 references with Deneb
Fixes #3207
2023-02-13 17:08:51 +00:00
Dankrad Feist 7b642a2884
compute_challenge takes blobs + linter 2023-02-13 14:57:04 +00:00
Dankrad Feist f36925ea96
Merge branch 'dev' into kzg_multi_verify 2023-02-13 14:38:19 +00:00
Dankrad Feist fc10714f42
Call compute_challenge with polynomial as argument 2023-02-13 14:32:50 +00:00
Potuz 86962b9437 Simplify commitee weight computation 2023-02-10 11:43:38 -03:00
Jacek Sieka 8bc19d99ae
fixes
* expand sidecar gossip conditions
* editing
* add spec text for `BlobSidecar` signatures
2023-02-10 11:16:51 +01:00
Jacek Sieka 20278d4841
Merge remote-tracking branch 'origin/dev' into back-to-the-decoupled-future
Deneb merge
2023-02-10 10:44:31 +01:00
Jacek Sieka ffc78e9928
fixes
* separate constant for blob requests
* pedantry
2023-02-10 10:40:43 +01:00
Age Manning 368e70d9be
Remove sending empty blobs sidecar responses 2023-02-10 10:45:07 +08:00
Hsiao-Wei Wang 7b5acbfd21
Fix Capella fork test assertions 2023-02-10 00:30:00 +08:00
protolambda f6b8827eca
eip4844: move excess data gas field to end of execution payload for merkle proof path compat 2023-02-10 00:29:58 +08:00
Hsiao-Wei Wang 6cc5b0fc8b
Merge branch 'dev' into capella-fc-cleanup 2023-02-10 00:24:10 +08:00
Paul Harris 078e1cc871 fix references to eip4844 2023-02-08 09:22:28 +10:00
Jacek Sieka deb82e2f26
fix member 2023-02-07 11:23:18 +01:00
Jacek Sieka 1e07685f74
doctoc 2023-02-07 11:14:59 +01:00
Jacek Sieka 65d3c6aeb6
Free the blobs
This PR reintroduces and further decouples blocks and blobs in EIP-4844,
so as to improve network and processing performance.

Block and blob processing, for the purpose of gossip validation, are
independent: they can both be propagated and gossip-validated
in parallel - the decoupled design allows 4 important optimizations
(or, if you are so inclined, removes 4 unnecessary pessimizations):

* Blocks and blobs travel on independent meshes allowing for better
parallelization and utilization of high-bandwidth peers
* Re-broadcasting after validation can start earlier allowing more
efficient use of upload bandwidth - blocks for example can be
rebroadcast to peers while blobs are still being downloaded
* bandwidth-reduction techniques such as per-peer deduplication are more
efficient because of the smaller message size
* gossip verification happens independently for blocks and blobs,
allowing better sharing / use of CPU and I/O resources in clients

With growing block sizes and additional blob data to stream, the network
streaming time becomes a dominant factor in propagation times - on a
100mbit line, streaming 1mb to 8 peers takes ~1s - this process is
repeated for each hop in both incoming and outgoing directions.

This design in particular sends each blob on a separate subnet, thus
maximising the potential for parallelisation and providing a natural
path for growing the number of blobs per block should the network be
judged to be able to handle it.

Changes compared to the current design include:

* `BlobsSidecar` is split into individual `BlobSidecar` containers -
each container is signed individually by the proposer
  * the signature is used during gossip validation but later dropped.
* KZG commitment verification is moved out of the gossip pipeline and
instead done before fork choice addition, when both block and sidecars
have arrived
  * clients may verify individual blob commitments earlier
* more generally and similar to block verification, gossip propagation
is performed solely based on trivial consistency checks and proposer
signature verification
* by-root blob requests are done per-blob, so as to retain the ability
to fill in blobs one-by-one assuming clients generally receive blobs
from gossip
* by-range blob requests are done per-block, so as to simplify
historical sync
* range and root requests are limited to `128` entries for both blocks
and blobs - practically, the current higher limit of `1024` for blocks
does not get used and keeping the limits consistent simplifies
implementation - with the merge, block sizes have grown significantly
and clients generally fetch smaller chunks.
2023-02-07 11:05:51 +01:00
Paul Harris 0bf006cc06 Merge remote-tracking branch 'upstream/dev' into 3207 2023-02-02 16:34:34 +10:00
Dankrad Feist 659c7f513f
Change blob verification fiat-shamir to single blob 2023-01-29 13:05:02 +00:00
Dankrad Feist d89e579089
Updater toc 2023-01-27 14:33:43 +00:00
Dankrad Feist 03f4b8fa4d
Add KZG multi verify function 2023-01-27 14:23:38 +00:00
Hsiao-Wei Wang 127edf3af1
Merge pull request #3221 from benjaminion/fc-on-attester-slashing
Add on_attester_slashing() to handlers list
2023-01-27 21:49:34 +08:00
Hsiao-Wei Wang ce987c4a64
Delete `is_merge_transition_block` check from Capella 2023-01-27 09:12:39 +01:00
George Kadianakis 6e397b195b
EIP4844: Public methods take bytes as input (explicit validation) (#3224) 2023-01-25 16:15:19 +01:00
Hsiao-Wei Wang aede132f49
Merge pull request #3220 from benjaminion/fc-genesis-block
Add genesis_block to get_forkchoice_store() params
2023-01-24 22:22:25 +08:00
kevaundray 5eca56901e
Update polynomial-commitments.md (#3223) 2023-01-24 15:14:25 +01:00
Ben Edgington 8a0de1c595 Add on_attester_slashing() to handlers list 2023-01-24 13:25:40 +00:00
Ben Edgington d54c87a5c0 Add genesis_block to get_forkchoice_store() params 2023-01-24 13:08:41 +00:00
George Kadianakis 2626126935
EIP4844: compute_kzg_proof() now takes bytes as input (#3219) 2023-01-24 14:02:22 +01:00
Danny Ryan dd5c5af117
Merge pull request #3217 from pawanjay176/remove-point-validation
Remove kzg point and blob validations in gossip
2023-01-24 10:38:03 +01:00
Paul Harris 317facbd64 Replaced EIP4844 references with Deneb
Fixes #3207
2023-01-23 15:08:34 +01:00
Pawan Dhananjay a0791712cd
Remove kzg point validations in gossip 2023-01-20 21:32:03 +05:30
Emilia Hane f1435d456d
Update p2p-interface.md 2023-01-19 21:26:21 +01:00
Hsiao-Wei Wang 04d8f28cf6
Merge pull request #3214 from asn-d6/barycentric_no_assert
EIP4844: Handle barycentric evaluation at roots of unity
2023-01-17 23:00:17 +08:00
Hsiao-Wei Wang 521de12d9b
Merge pull request #3151 from etan-status/lc-eph
Add `ExecutionPayloadHeader` to LC data
2023-01-17 21:33:35 +08:00
George Kadianakis 296ba921c9 EIP4844: Handle barycentric evaluations at roots of unity 2023-01-16 17:51:50 +02:00
Etan Kissling 514d4431ca
Use `bellatrix` in `upgrade_x_to_capella` helpers 2023-01-13 20:11:05 +01:00
Hsiao-Wei Wang 427a6e809f
Merge pull request #3206 from ethereum/btec-fork-version
MUST use `GENESIS_FORK_VERSION` to sign `BLSToExecutionChange` message
2023-01-13 23:29:21 +08:00
Etan Kissling a580f82c7d
Use `beacon` wrapper in `upgrade_lc_header_to_capella` 2023-01-13 14:59:40 +01:00
Etan Kissling ca32fe8347
Add docstrings to explain empty header 2023-01-13 11:19:53 +01:00
Hsiao-Wei Wang 6a19cf568a
PR feedback from @terencechain: re-use `current_epoch` definition 2023-01-13 16:49:24 +08:00
Etan Kissling 82d6267951
Merge branch 'dev' into lc-eph 2023-01-12 18:44:54 +01:00
Hsiao-Wei Wang 2b2ffb5229
Merge pull request #3190 from etan-status/lc-headerwrapper
Add `LightClientHeader` wrapper
2023-01-13 00:40:44 +08:00
Hsiao-Wei Wang 4af46e7e78
Ignore `bls_to_execution_change` messages before `CAPELLA_FORK_EPOCH` 2023-01-12 23:47:36 +08:00
Hsiao-Wei Wang 730a7afe49
Always use `GENESIS_FORK_VERSION` to sign `BLSToExecutionChange` message 2023-01-12 23:28:41 +08:00
Danny Ryan fc6bdade50
Merge pull request #3174 from terencechain/clarify-empty-blob-sidecar
EIP4844: Clarify ratelimit behavior for sidecar with zero blobs
2023-01-11 19:45:03 -07:00
Danny Ryan 8d841c864b
minor copy edit 2023-01-11 19:44:39 -07:00
Danny Ryan 71d66afc0a
Merge pull request #3201 from ethereum/fix-fork-historical-summaries
Add `historical_summaries` setup to `fork.md`
2023-01-11 13:24:55 -07:00
terence tsao 96a553615a Add rate limit suggestion 2023-01-10 10:28:19 -08:00
Etan Kissling 53a95f0007
Merge branch 'dev' into lc-eph 2023-01-10 13:43:15 +01:00
Hsiao-Wei Wang f057f530fe
Add `historical_summaries` setup to fork.md 2023-01-10 16:45:58 +08:00
GeemoCandama d23d0147c8
Update p2p-interface.md
fixed typo
2023-01-07 14:28:12 -06:00
Etan Kissling b951ce077a
Move helper 2023-01-06 20:01:02 +01:00
Etan Kissling 5230c1ba87
Add `is_valid_light_client_header` and comments 2023-01-06 19:58:23 +01:00
Etan Kissling 79a717c8f6
Merge branch 'dev' into lc-headerwrapper 2023-01-06 19:45:18 +01:00
Danny Ryan ed1c6be132
Merge pull request #3185 from ethereum/fc-is_data_available
Move `is_data_available` check to fork-choice `on_block`
2023-01-06 10:55:29 -05:00
Danny Ryan 4ba2266fd5
Update specs/eip4844/fork-choice.md 2023-01-06 08:45:20 -07:00
Hsiao-Wei Wang c9f8e4fef8
Move `BlobsSidecar` 2023-01-06 23:39:04 +08:00
Hsiao-Wei Wang e154b3414c
Move `validate_blobs_sidecar` to fork-choice and add spec into execution spec scope 2023-01-06 23:19:44 +08:00
Danny Ryan d5c24dc731
Merge pull request #3186 from ethereum/capella-note
Add notes for new state historical accumulators
2023-01-06 10:13:32 -05:00
Danny Ryan 75937e5b55
Merge pull request #3181 from terencechain/4844-enable-withdrawal
EIP4844: Enable withdrawal
2023-01-06 10:12:57 -05:00
Danny Ryan d679b2e80d
Update specs/capella/beacon-chain.md 2023-01-06 08:06:39 -07:00
Hsiao-Wei Wang e937e2abbc
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-01-06 13:08:32 +08:00
Etan Kissling 375436094c
Merge branch 'dev' into lc-eph 2023-01-05 13:53:29 +01:00
Etan Kissling 5c64a2047a
Add `LightClientHeader` wrapper
In Altair, light client sync protocol exchanges `BeaconBlockHeader`
structures for tracking current progress. Wrapping `BeaconBlockHeader`
inside a `LightClientHeader` allows future extensions of this header,
e.g., to also track `ExecutionPayloadHeader`.

Note: This changes the JSON REST format by adding a `beacon` nesting.
For SSZ, the serialization format stays same (but overall root changes).
2023-01-05 13:36:04 +01:00
Hsiao-Wei Wang 19cf15b838
Merge pull request #3188 from henridf/patch-2
Fix typo in eip4844/BeaconBlocksByRoot docs
2023-01-05 12:52:14 +08:00
Hsiao-Wei Wang 0777a52f55
Merge pull request #3149 from etan-status/lc-toheader
Add `block_to_light_client_header` helper
2023-01-05 12:12:36 +08:00
henridf 7d2482a025
Fix typo in eip4844/BeaconBlocksByRoot docs 2023-01-04 16:29:15 +01:00
Hsiao-Wei Wang 118daae6d9
Add notes for new state historical accumulators 2023-01-04 17:55:51 +08:00
Hsiao-Wei Wang bb3601dcfa
Merge branch 'dev' into pr3181 2023-01-04 01:07:30 +08:00
Hsiao-Wei Wang 0f07cdcf72
Merge pull request #3165 from arnetheduck/block-root-accumulator-4
Historical batches
2023-01-04 00:23:21 +08:00
Hsiao-Wei Wang 6b94aab3af
Move `is_data_available` check to fork-choice `on_block` 2023-01-04 00:15:15 +08:00
Etan Kissling b0471511e5
Merge branch 'dev' into lc-eph 2023-01-03 15:36:37 +01:00
Hsiao-Wei Wang dcacb7164f
Rename `block_batch_root` to `block_summary_root` and `state_batch_root` to `state_summary_root` 2023-01-03 21:50:06 +08:00
Hsiao-Wei Wang 1cfabcbe54
Rename `HistoricalBatchSummary` -> `HistoricalSummary` and `historical_batches` -> `historical_summaries` 2023-01-02 23:07:00 +08:00
Danny Ryan 280f6e0568
Merge pull request #3167 from ethereum/akzg-tp
Add `compute_kzg_proof` as a public method
2023-01-01 14:14:53 -06:00
Dankrad Feist 4c573ff6b9 Add compute_kzg_proof to public methods 2023-01-01 14:04:56 -06:00
terence tsao 2afb02ba30 Fix Toc 2022-12-28 18:49:02 -08:00
terence tsao 45b1eb7979 EIP4844: Enable withdrawal 2022-12-28 18:42:24 -08:00
Mikhail Kalinin 6eb118d34a Fix finality check in deposit processing 2022-12-24 09:40:15 +06:00
Mikhail Kalinin 48f120c90e Set a higher limit to deposit receipts list 2022-12-24 09:40:15 +06:00
Mikhail Kalinin 9d2a8f7d63 Give deposits EIP a name 2022-12-24 09:40:15 +06:00
Mikhail Kalinin 8cc293c869 Fix wording 2022-12-24 09:40:15 +06:00
Mikhail Kalinin 5ea983ac33 Fix toc, add more comments 2022-12-24 09:40:15 +06:00
Mikhail Kalinin b3c771c46d Preserve deposits per epoch boundary 2022-12-24 09:40:15 +06:00
Mikhail Kalinin c53ab45e19 Add in-protocol deposit processing 2022-12-24 09:40:15 +06:00
terence tsao 7204b5c3aa Merge branch 'clarify-empty-blob-sidecar' of github.com:terencechain/eth2.0-specs into clarify-empty-blob-sidecar 2022-12-23 22:24:40 +08:00
terence tsao 491bb1d207 Clean ups 2022-12-23 22:21:51 +08:00
terencechain 518c49bbba
Update specs/eip4844/p2p-interface.md
Co-authored-by: g11tech <develop@g11tech.io>
2022-12-23 20:47:14 +08:00
terence tsao 42121adeb0 Clarify what empty means 2022-12-23 14:30:30 +08:00
terence tsao 5a75704e37 Clarify behavior for empty blobs sidecar 2022-12-23 14:02:33 +08:00
Danny Ryan 4f77493b0f
Merge pull request #3169 from ethereum/false-after-prune
Handle unavailable data outside of prune window
2022-12-20 17:15:17 -07:00
Danny Ryan e6f5ab9a16
Merge pull request #3154 from dapplion/blobs-byroot-errorcode
Clarify BeaconBlockAndBlobsSidecarByRoot no blob available
2022-12-20 17:14:39 -07:00
Jacek Sieka b6ac1fa099
Update specs/capella/beacon-chain.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-12-20 07:46:18 +01:00
djrtwo 4be8f7d669 clarify how to handle unavailable data outside of the prune window 2022-12-19 10:15:18 -07:00
Hsiao-Wei Wang 84592f101b
Add tests for `process_historical_batches_update` 2022-12-16 01:01:00 +08:00
Hsiao-Wei Wang c185f91e00
Merge branch 'dev' into pr2649-tests 2022-12-15 22:56:04 +08:00
dapplion fac4b49a9b Change range lower bound to EIP4844_FORK_EPOCH 2022-12-15 11:27:33 +07:00
dapplion eaa1268dc4 Place dominant factor first 2022-12-15 11:12:37 +07:00
dapplion 29d36d8a78 Merge two sentences + drop range 2022-12-15 11:11:15 +07:00
George Kadianakis 05c2eb8ace
Merge pull request #3159 from kevaundray/patch-3
EIP4844: Clarify that z should not be in the domain
2022-12-14 17:47:48 +02:00
Danny Ryan f7187a6657
Merge pull request #3156 from ethereum/kzg-trusted-setup
Update G2 trusted setup length to 65
2022-12-14 08:15:53 -07:00
kevaundray e467ab9556
clarify that z should not be in the domain 2022-12-14 11:01:40 +00:00
Justin Traglia 224b0f20cf Add missing qoute 2022-12-13 11:53:18 -06:00
Justin Traglia 26605ac724 Fix some nits in eip4844 specs 2022-12-13 10:07:37 -06:00
Etan Kissling 02abdc311f
Merge branch 'dev' into lc-eph 2022-12-13 15:33:28 +01:00
Etan Kissling 3bfac0e16e
Merge branch 'lc-toheader' into lc-eph 2022-12-13 12:31:12 +01:00
Etan Kissling ef2a8b319d
Avoid line continuation syntax 2022-12-13 12:30:14 +01:00
Hsiao-Wei Wang 2ac06c10d3
Update G2 trusted setup length to 65 2022-12-13 18:14:50 +08:00
Hsiao-Wei Wang da3f5af919
Test case naming clean up (#3143)
* Add @description decorator

* Unify test case naming style

* more clean ups

* Altair tests cleanup

* Clean up Altair and Bellatrix `process_deposit` tests

* Clean up Bellatrix tests

* Clean up Capella tests

* PR feedback from @ralexstokes

* Add comments on the deposit fork version tests

* Remove `test_incorrect_sig_other_version` since it is duplicate to `test_ineffective_deposit_with_bad_fork_version`

* Add `test_ineffective_deposit_with_current_fork_version`
2022-12-13 15:13:44 +08:00
Danny Ryan 06d6d3888f
Merge pull request #3095 from ralexstokes/bound-withdrawals-sweep
bound the maximum number of validators considered for withdrawals per sweep
2022-12-12 19:53:29 -07:00
dapplion d4b8ab1173 Clarify BeaconBlockAndBlobsSidecarByRoot no blob available 2022-12-13 09:29:28 +07:00
Danny Ryan 1f943f0d64
Update specs/capella/beacon-chain.md 2022-12-12 14:22:58 -07:00
Stefan Bratanov a8449fa4aa Fix typo in BlobsSidecarsByRange v1 2022-12-12 15:36:51 +02:00
Etan Kissling 700bef7a45
Fix `is_valid_light_client_header` 2022-12-12 13:39:14 +01:00
Etan Kissling 8ad6810a44
EIP4844 support (`excess_data_gas`), fork tests nyi 2022-12-12 13:11:49 +01:00
Etan Kissling e67ca3d309
Compute epoch only once for better readability 2022-12-12 13:09:18 +01:00
Etan Kissling 5028a806ad
Implicit init during fork transition 2022-12-12 12:45:43 +01:00
Etan Kissling 11d2a59948
Flip `is_valid_light_client_header` logic for extensibility 2022-12-12 12:33:58 +01:00
Etan Kissling 2e97af2627
Add `ExecutionPayloadHeader` to LC data
While the light client sync protocol currently provides access to the
latest `BeaconBlockHeader`, obtaining the matching execution data needs
workarounds such as downloading the full block.

Having ready access to the EL state root simplifies use cases that need
a way to cross-check `eth_getProof` responses against LC data.

Access to `block_hash` unlocks scenarios where a CL light client drives
an EL without `engine_newPayload`. As of Altair, only the CL beacon
block root is available, but the EL block hash is needed for engine API.

Other fields in the `ExecutionPayloadHeader` such as `logs_bloom` may
allow light client applications to monitor blocks for local interest,
e.g. for transfers affecting a certain wallet. This enables to download
only the few relevant blocks instead of every single one.

A new `LightClientStore` is proposed into the Capella spec that may be
used to sync LC data that includes execution data. Existing pre-Capella
LC data will remain as is, but can be locally upgraded before feeding it
into the new `LightClientStore` so that light clients do not need to run
a potentially expensive fork transition at a specific time. This enables
the `LightClientStore` to be upgraded at a use case dependent timing at
any time before Capella hits. Smart contract and embedded deployments
benefit from reduced code size and do not need synchronization with the
beacon chain clock to perform the Capella fork.
2022-12-12 00:48:40 +01:00
Etan Kissling 9ab22b3ef3
Merge branch 'lc-accessors' into lc-eph 2022-12-12 00:41:31 +01:00
Alex Stokes 37e504e784
bound the maximum number of validators considered for withdrawals per sweep 2022-12-09 10:51:25 -07:00
Etan Kissling 14fd937046
Fix 2022-12-06 23:21:06 +01:00
Etan Kissling 0fb0b26742
Add accessors for LC header
Introduce `get_lc_beacon_slot` and `get_lc_beacon_root` accessors
similar to `get_current_slot(state)` to account for future extensions
to the light client header structure that may override how those fields
are accessed. Idea is to extend with execution accessors in the future.
2022-12-06 22:05:19 +01:00
Etan Kissling 8bf801ecc6
Add `block_to_light_client_header` helper
Introduce `block_to_light_client_header` helper function to enable
future forks to override it with additional info (e.g., execution),
without having to change the general light client logic.

Likewise, update existing light client data creation flow to use
`block_to_light_client_header` and default-initialize empty fields.

Furthermore, generalize `create_update` helper to streamline test code
using `block_to_light_client_header`.

Note: In Altair spec, LC header is the same as `BeaconBlockHeader`.
however; future forks will extend it with more information.
2022-12-06 17:44:41 +01:00
Danny Ryan 9839ed4934
Merge pull request #3145 from terencechain/update-max-blobs
EIP4844: Update `MAX_BLOBS_PER_BLOCK` to 4
2022-12-06 09:37:05 -07:00
Danny Ryan 5498519945
Merge pull request #3125 from terencechain/rm-is-data-available
EIP4844: remove optimistic sync mentions
2022-12-06 09:29:34 -07:00
Etan Kissling f4dafcfebc
Merge branch 'dev' into lc-blockfuncs 2022-12-05 18:38:40 +01:00
George Kadianakis 23d3aeebba
EIP4844 precompile: Be strict when parsing field elements from network (#3138)
* EIP4844: bytes_to_bls_field() must not accept values >= BLS_MODULUS

bytes_to_bls_field() will be used in the precompile and hence it should error out when provided with malicious inputs.

* EIP4844: Add hash_to_bls_field() for use in compute_challenges()

The previous commit made bytes_to_bls_field() be strict about its inputs. However in compute_challenges() we are
dealing with Fiat-Shamir and hash outputs that could be innocuously higher than the modulus. For this reason we add the
hash_to_bls_field() helper for use in compute_challenges().

* EIP4844: Further use of bytes_to_bls_field() // Fix executable spec

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-12-01 14:59:00 +02:00
Hsiao-Wei Wang 602f846dc7
Merge pull request #3134 from ethereum/eip4844-lint
Add EIP4844 pylint and Mypy checks
2022-12-01 20:01:48 +08:00
Tim Beiko aae00a0bf6
Clarify that full withdrawals only apply to exited validators 2022-11-30 16:21:06 -08:00
terence tsao 5b0bfe7eb6 EIP4844: Update `MAX_BLOBS_PER_BLOCK` to 4 2022-11-30 14:34:09 -08:00
Hsiao-Wei Wang b62c9e8779
Merge pull request #3014 from tersec/deprecate-phase0-beacon-blocks-req-resp
deprecate phase 0-only versions of beacon_blocks_by_{range,root}
2022-11-29 22:09:13 +08:00
terence tsao 339b788839 Revert previous changes. Remove optimistic wording 2022-11-28 19:52:11 -08:00
Hsiao-Wei Wang b3a176689d
WIP. Fixing mypy errors 2022-11-28 21:01:41 +08:00
Hsiao-Wei Wang 4f32fd95d6
Enable EIP4844 lint and fix Pylint 2022-11-28 20:01:50 +08:00
Roberto Bayardo a1e46d1ae4
EIP4844: Fix return value of compute_challenges (#3129)
Co-authored-by: George Kadianakis <desnacked@riseup.net>
2022-11-24 15:26:02 +02:00
kevaundray 3ec25a8755
Fix docstring for compute_powers and compute_challenges methods (#3130) 2022-11-24 15:11:46 +02:00
kevaundray f0ff15c14d
EIP4844: Refactor Fiat-Shamir logic to handle empty sidecars (#3093)
Additionally, it makes the Fiat-Shamir hashing logic more robust by making the challenges independent of each other. It also makes it more efficient to implement by moving both challenge computations to a single function needing a single transcript hash.

Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: Dankrad Feist <mail@dankradfeist.de>
2022-11-23 16:52:47 +02:00
terence tsao 3624742ff5 Remove is_data_available 2022-11-22 09:15:17 -08:00
Dmitrii Shmatko 4e3b700b86 Fix initialization of VERSIONED_HASH_VERSION_KZG 2022-11-22 11:51:10 +04:00
Etan Kissling 0fb2447a95
Merge branch 'dev' into lc-blockfuncs 2022-11-19 12:20:18 +01:00
Ramana Kumar 19c8f21b63
Fix type annotation in verify_aggregate_kzg_proof 2022-11-19 09:17:11 +00:00
George Kadianakis a45627164d
Merge pull request #3097 from asn-d6/verify_kzg_proof_bytes_api
EIP4844: Refactor `verify_kzg_proof()` to receive bytes (used in precompile)
2022-11-18 20:01:18 +02:00
Hsiao-Wei Wang 46c0447662
Merge pull request #3110 from ethereum/eip4844-test-vectors
Add EIP4844 to testgen and add more Capella+EIP4844 random fork tests
2022-11-18 17:18:02 +08:00
Danny Ryan 30e975806f
Merge pull request #3108 from realbigsean/validate-blobs-sidecar-in-gossip
Make `validate_blobs_sidecar` a gossip condition
2022-11-17 16:31:14 -07:00
Hsiao-Wei Wang dd8b67075e
Add note comment 2022-11-18 04:51:19 +08:00
Hsiao-Wei Wang 438a7e55ea
Conver `roots_of_unity_brp` to integers 2022-11-18 03:20:25 +08:00
Hsiao-Wei Wang 78f0e0301e
Merge pull request #3052 from Inphi/inphi/eip4844-rebase
Rebase EIP-4844 on Capella
2022-11-18 03:16:58 +08:00
Danny Ryan de789e2d5b
Merge pull request #3090 from ethereum/4844-topic-dep
clarify deprecation of `beacon_block` gossip topic in 4844
2022-11-17 12:16:24 -07:00
Hsiao-Wei Wang ee0e2a03d2
Merge branch 'dev' into pr3052 2022-11-18 02:44:46 +08:00
Hsiao-Wei Wang 30dce7f232
Apply suggestions from code review
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-18 02:25:56 +08:00
Hsiao-Wei Wang f1d4c9047a
Merge branch 'dev' into pr3052 2022-11-18 02:12:07 +08:00
Enrico Del Fante 620943b275
Update specs/eip4844/fork.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-16 19:19:39 +01:00
realbigsean e8e860e1f3
make a gossip condition 2022-11-16 10:46:04 -05:00
Enrico Del Fante b737e5370f
fix state upgrade 2022-11-16 12:12:18 +01:00
Alex Stokes a5f8a15819
Clarify how to transition gossip 2022-11-15 10:29:03 -07:00
Hsiao-Wei Wang 11a037fd92
Merge pull request #3089 from terencechain/beacon-block-and-blobs-sidecar-by-root
EIP4844: Add block and sidecar retrival by root
2022-11-16 00:41:58 +08:00
terence tsao bbc3ec02ff Fix typos 2022-11-12 23:36:34 -08:00
George Kadianakis fcac0b5c69 Clarify which functions are public and provided by the KZG library 2022-11-12 01:47:39 +02:00
George Kadianakis ff34006807 Refactor `verify_kzg_proof()` to receive bytes (used in precompile)
This way, client devs don't need to convert to field elements themselves, and the KZG library takes care fo it.
2022-11-12 01:47:39 +02:00
inphi 3df1371897
Merge remote-tracking branch 'origin/dev' into inphi/eip4844-rebase 2022-11-11 17:32:06 -05:00
inphi cd1e1133a5
excess_data_gas uint256 2022-11-11 17:25:06 -05:00
inphi 6327ffa687
rename excess_blobs 2022-11-11 17:24:05 -05:00
Alex Stokes 38669d4b7a
Update specs/eip4844/p2p-interface.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-11-11 11:26:48 -07:00
Alex Stokes 078bba2e3c
clarify deprecation of `beacon_block` gossip topic in 4844 2022-11-11 11:26:45 -07:00
Alex Stokes faf308349e
Merge pull request #3086 from michaelsproul/light-client-p2p-fix
Fix slot checks in light client p2p spec
2022-11-11 11:03:33 -07:00
terence tsao e2a2d68cae Added a comment to support pre-fork-epoch 2022-11-11 09:50:06 -08:00
Michael Sproul 897b97990f
Further clarify light client slot checks 2022-11-11 22:09:33 +11:00
inphi 104cba06a6
replace get_blobs_and_kzg_commitments 2022-11-11 00:21:56 -05:00
inphi bed1df00a2
Remove withdrawal_queue from BeaconState upgrade 2022-11-10 13:57:30 -05:00
Danny Ryan d4a9b97cd0
Merge pull request #3084 from ethereum/validator-note-for-bls-change
Add note to Capella validator guide about BLS to execution change
2022-11-10 11:32:04 -07:00
inphi a59dd37933
Merge remote-tracking branch 'origin/dev' into inphi/eip4844-rebase 2022-11-10 13:17:57 -05:00
Danny Ryan 4b573f82f6
Merge pull request #3091 from terencechain/patch-138
EIP4844: Explicitly mention old gossip validations for block
2022-11-10 11:16:18 -07:00
Danny Ryan 0e7d3555ea
minor copy edits 2022-11-10 11:12:33 -07:00
Danny Ryan 37996fc36c
Merge pull request #3068 from potuz/withdrawals_without_queues
Withdrawals without queues
2022-11-10 10:49:25 -07:00
Alex Stokes be85e9356a
Update specs/capella/validator.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-11-10 09:12:35 -05:00
Alex Stokes 0f93e9aad8
Update specs/capella/validator.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-11-10 09:12:10 -05:00
Alex Stokes be098b60c0
Update specs/eip4844/p2p-interface.md 2022-11-10 09:10:01 -05:00
Potuz 7f266bcb0f Use next_validator_withdrawal_index 2022-11-10 08:33:11 -03:00
terencechain 579f8fd1d2
EIP4844: Explicitly mention old gossip validations for block 2022-11-09 15:06:58 -08:00
Potuz 710b124cdc fix last commit 2022-11-08 21:51:54 -03:00
Potuz 8f42e485c7 Add extra % 2022-11-08 19:53:58 -03:00
Michael Sproul dae1011194
Fix typos
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-09 09:41:21 +11:00
terence tsao c447662ba0 Fix `BeaconBlocksByRootV2` for pre-4844 support 2022-11-08 12:55:43 -08:00
terence tsao cb9159fe58 EIP4844: Add block and sidecar retrival by root 2022-11-08 10:41:48 -08:00
inphi e3e73a8f54
Add Capella fork version 2022-11-08 09:06:38 -05:00
Michael Sproul 91de8a09f3
Fix slot checks in light client p2p spec 2022-11-08 17:06:07 +11:00
Alex Stokes 8bb1751f46
Add note to Capella validator guide about BLS to execution change 2022-11-07 15:22:26 -07:00
Potuz 99e2704c2c make tests pass 2022-11-07 17:56:01 -03:00
Potuz ac670e2c47 add phase0 sentence regarding process slots 2022-11-07 17:34:19 -03:00
Potuz 2f89f5096d Danny's review 1st pass 2022-11-07 17:29:56 -03:00
terence tsao f010de0871 Remove domain blobs sidecar 2022-11-07 07:16:42 -08:00
Hsiao-Wei Wang 95ee291f58
Merge branch 'dev' into pr3052 2022-11-07 10:10:16 -05:00
Hsiao-Wei Wang 544ae28721
Merge pull request #3016 from ethereum/gen_kzg_trusted_setups
Rework the testing KZG trusted setups presets
2022-11-07 22:29:54 +08:00