djrtwo
78403ccf8a
add p2p for attslotrange
2023-05-16 09:48:23 -06: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
djrtwo
bce45c5671
working through att slot range fix
2023-05-15 11:35:29 -06:00
Hsiao-Wei Wang
058137327a
Use new `engine_newPayloadV3`
2023-05-16 00:28:49 +08:00
Hsiao-Wei Wang
a11cc094ee
Update `ExecutionLayerExit` fields: replace `validator_index` with `validator_pubkey`
2023-05-15 20:07:11 +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
340f3cc1a3
Rebase the fc changes
2023-05-15 17:25:48 +08:00
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
6e08327d1f
Fix light client tests
2023-05-10 22:59:39 +08:00
Danny Ryan
363209d650
Merge pull request #3312 from AgeManning/attnets-revamp
...
Attnet revamp: Subnet backbone structure based on beacon nodes
2023-05-10 08:22:02 -06:00
Hsiao-Wei Wang
0f5ac1186e
Remove `is_execution_enabled` condition since Capella
2023-05-10 03:01:20 +08:00
Hsiao-Wei Wang
b8e77c5486
Add EIP-7002 feature spec
2023-05-10 02:46:51 +08:00
dapplion
680b026d59
Add add_validator_to_registry fn
2023-05-09 19:18:42 +09:00
Hsiao-Wei Wang
5cb2733ed5
Add custom types `NodeID` and `SubnetID` and constant `NODE_ID_BITS`
2023-05-04 18:50:13 +08:00
Hsiao-Wei Wang
79b8a9abec
Apply suggestions from code review
2023-05-04 18:09:01 +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
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