Commit Graph

309 Commits

Author SHA1 Message Date
Hsiao-Wei Wang c9b84ecc1a
Use `verify_blob_kzg_proof_batch` directly in `is_data_available` and remove `validate_blob` wrapper 2023-06-01 23:40:46 +08:00
Hsiao-Wei Wang 69ce4bb531
Merge branch 'dev' into excess_data_gas-type 2023-06-01 23:15:02 +08:00
Hsiao-Wei Wang 60721b9d8a
switch order 2023-06-01 22:39:01 +08:00
Hsiao-Wei Wang 653e03e702
Fix ToC 2023-05-30 21:12:47 +08:00
Hsiao-Wei Wang be33c4008a
Merge branch 'dev' into pr3288 2023-05-30 21:08:12 +08:00
Hsiao-Wei Wang f6fe8e2729
Change `ExecutionPayload.excess_data_gas` type from `uint256` to `uint64` 2023-05-30 20:36:58 +08:00
Hsiao-Wei Wang 296efec256
Add `data_gas_used` field to `ExecutionPayload` 2023-05-30 00:39:13 +08:00
Hsiao-Wei Wang a10affa245
Fix preset table 2023-05-24 21:15:01 +08:00
djrtwo 9bc27bad30 a couple of minor cleanups 2023-05-24 05:41:42 -06:00
Hsiao-Wei Wang e9cc8dcc05
PR feedback of Danny + verify `MAX_BLOBS_PER_BLOCK` size in unittest 2023-05-24 16:32:39 +08:00
Hsiao-Wei Wang f0a4281afd
Add tests. Add validation in the p2p beacon block gossiping 2023-05-24 16:11:32 +08:00
Hsiao-Wei Wang a05b689b4c
Merge branch 'dev' into pr3338 2023-05-24 15:38:55 +08:00
Hsiao-Wei Wang 7a827638e6
Ensure `verify_and_notify_new_payload` returns bool 2023-05-24 12:56:10 +08:00
Hsiao-Wei Wang ec1ee74edb
Fix typo
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-05-24 12:17:07 +08:00
Hsiao-Wei Wang 53a9221d1a
Fix ToC 2023-05-24 11:55:22 +08:00
Hsiao-Wei Wang 212a314287
Fix ToC and remove `validate_blobs_and_kzg_commitments` 2023-05-24 11:27:26 +08:00
Hsiao-Wei Wang 6b5513b43a
Merge branch 'dev' into engine-versioned-hashes 2023-05-24 11:19:56 +08:00
Hsiao-Wei Wang 289d8147be
Move `verify_and_notify_new_payload` to Bellatrix 2023-05-24 11:12:03 +08:00
Hsiao-Wei Wang 0a90b58080
Merge branch 'engine-versioned-hashes-explicit' into engine-versioned-hashes 2023-05-24 10:40:36 +08:00
Hsiao-Wei Wang d018635c96
Merge pull request #3350 from ethereum/remove-is_execution_enabled
Remove `is_execution_enabled` condition since Capella
2023-05-24 10:36:34 +08:00
Hsiao-Wei Wang ee09c34261
Merge pull request #3232 from ethereum/capella-fc-cleanup
Remove `is_merge_transition_block` check since Capella
2023-05-24 10:36:14 +08:00
Hsiao-Wei Wang dd5e6f813f
Add `make_function_abstract` to make it more general 2023-05-24 01:59:02 +08:00
Hsiao-Wei Wang 0754b94948
Merge branch 'dev' into remove-is_execution_enabled 2023-05-24 00:01:23 +08:00
Hsiao-Wei Wang 7ec5efb106
Add `### Block processing` back 2023-05-23 23:55:35 +08:00
Hsiao-Wei Wang 2192882faa
Merge pull request #3354 from g11tech/kzg-big-endian
Update the endianness of the polynomial commitments to be big endian
2023-05-23 23:43:19 +08:00
Hsiao-Wei Wang 73df1935b1
Use `verify_and_notify_new_payload` approach 2023-05-23 23:37:42 +08:00
Hsiao-Wei Wang 2eab6bfdaa
Merge branch 'dev' into engine-versioned-hashes 2023-05-23 15:21:00 +08:00
Hsiao-Wei Wang 3247bcf8f7
PR feedback from @ppopth 2023-05-23 15:16:12 +08:00
gajinder feb1968e43 add comment 2023-05-22 18:44:12 +05:30
gajinder 4458645f0c add check 2023-05-22 18:41:40 +05:30
gajinder 8ccc2570d1 apply feedback 2023-05-20 19:35:22 +05:30
gajinder a75292beeb restore the 4844 max limit to 4 2023-05-20 19:08:21 +05:30
gajinder 9f530a7741 update max commitments per block limit to blobs per tx limit from eip4844 2023-05-20 19:06:52 +05:30
gajinder 1aad9b5fa0 adding a fixed theoretical limit for commitments in a block 2023-05-20 19:06:51 +05:30
gajinder 5e43f43df1 update limit to 4844 friendly 16 blobs 2023-05-20 19:05:44 +05:30
gajinder 17dac8cab9 Update MAX_BLOBS_PER_BLOCK to a higher bound 2023-05-20 19:05:44 +05:30
Hsiao-Wei Wang 92324ca845
Remove `is_merge_transition_complete` check from Capella 2023-05-20 01:14:10 +08:00
Hsiao-Wei Wang 32036d84a3
Fix tests 2023-05-20 00:01:44 +08:00
Hsiao-Wei Wang aaa7fc622b
Merge branch 'dev' into pr3288 2023-05-19 23:32:09 +08:00
Alex Stokes 7097dcf27a
Clarify blob subnets 2023-05-18 15:27:47 -06:00
Suphanat Chunhapanya 08a13261c2 Use SubnetID instead of uint64 2023-05-18 21:33:45 +07:00
Suphanat Chunhapanya 2f218f8336 Specify the number of sidecar subnets
Previously the number of subnets is equal to MAX_BLOBS_PER_BLOCK which
specifies the number of blobs per block. This commit now makes the
number of subnets equal to BLOB_SIDECAR_SUBNET_COUNT instead.

The advantage of doing this is that we can change MAX_BLOBS_PER_BLOCK
without worrying about the p2p network structure and the number of subnets.
2023-05-18 21:33:45 +07:00
terencechain db2e613aac
Nitpick: blob -> blob sidecar 2023-05-17 11:08:33 -07:00
Alex Stokes 1a4db24919
Update fork-choice.md
Remove duplicate check
2023-05-17 11:49:46 -06:00
Justin Traglia 32358e8fad
Add comment about zero elements in batch verification (#3367) 2023-05-17 19:24:48 +03:00
Hsiao-Wei Wang 0b2f604f86
Fix tests 2023-05-17 00:24:49 +08:00
Alex Stokes 5a6052f46c
Update fork-choice.md
Stylistic change to be in line with validations in other specifications
2023-05-15 16:51:52 -06:00
Hsiao-Wei Wang 058137327a
Use new `engine_newPayloadV3` 2023-05-16 00:28:49 +08:00
g11tech 928fd42517
fix typo
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-05-15 15:53:18 +05:30
Hsiao-Wei Wang f9c4076b87
Merge branch 'dev' into capella-fc-cleanup 2023-05-15 17:21:52 +08:00
gajinder 5b983f4097 Update the endianess of the polynomial commitments to be big endian 2023-05-12 21:44:43 +05:30
Michael Sproul 69d8c96de4
Apply proposer boost to first block in case of equivocation 2023-05-11 13:16:52 +10:00
Hsiao-Wei Wang f7352d18cf
Merge pull request #3341 from ethereum/add-GetPayloadResponse
Add `GetPayloadResponse` dataclass for `get_payload` API
2023-05-10 23:33:57 +08:00
Hsiao-Wei Wang 0f5ac1186e
Remove `is_execution_enabled` condition since Capella 2023-05-10 03:01:20 +08:00
Hsiao-Wei Wang f1765dfef3
Merge branch 'dev' into deneb-tests 2023-05-04 18:04:20 +08:00
Hsiao-Wei Wang e117ff4d71
Merge branch 'dev' into eip6110-tests 2023-05-02 21:24:02 +08:00
Hsiao-Wei Wang a044c0c805
Merge branch 'dev' into pr3308 2023-05-01 16:31:45 +08:00
Hsiao-Wei Wang e31fcbd6a9
Add `GetPayloadResponse` for `get_payload` API 2023-04-28 23:25:13 +08:00
Hsiao-Wei Wang 22da92e597
Refactor the spec and add more test cases 2023-04-28 18:26:42 +08:00
Hsiao-Wei Wang 03a3e4082a
Fix p2p-interface.md ToC 2023-04-19 19:10:46 +08: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
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
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
Roberto Saltini e255d09840 Apply changes to Bellatrix and Daneb 2023-03-31 10:52:52 +11:00
terence tsao a9abfeb217 Denbeb -> Deneb 2023-03-23 17:21:41 -07:00
George Kadianakis 0e0403d0e2 Reject zero inputs in bls_modular_inverse() 2023-03-17 11:50:53 +02: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
kevaundray 637ef34133
fix : change description for blob 2023-03-14 21:00:20 +00: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
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 21cf61ea8f De-duplicate range references in BlobSidecarsByRange 2023-03-10 11:10:33 +08: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
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
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 e7035dacf5
Remove the outdated statement 2023-02-23 22:46:55 +08: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
kasey 9391f3ccfc fix MAX_REQUEST_BLOBS_SIDECARS typo 2023-02-21 21:48:21 -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
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
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
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
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
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
Age Manning 368e70d9be
Remove sending empty blobs sidecar responses 2023-02-10 10:45:07 +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
Paul Harris 0bf006cc06 Merge remote-tracking branch 'upstream/dev' into 3207 2023-02-02 16:34:34 +10:00
Paul Harris 317facbd64 Replaced EIP4844 references with Deneb
Fixes #3207
2023-01-23 15:08:34 +01:00