Enrico Del Fante
6bbdeb88e0
Update specs/phase0/p2p-interface.md
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-11-30 15:20:34 +01:00
Enrico Del Fante
c46c4ec7cb
fix typo
2023-11-30 15:20:34 +01:00
Enrico Del Fante
e664d407ca
Specify RPC byRoot blocks-sidecars elegibility
2023-11-30 15:20:34 +01:00
Etan Kissling
321870cbe9
Align gossip validation for aggregates with single attestations
...
A couple gossip validation rules are only specced out for single
un-aggregated attestations, but are also checked by implementations
for aggregates. This adds a copy of the missing gossip validation rules
to the aggregated attestation docs.
2023-11-19 23:12:11 -08:00
Etan Kissling
dd65aa0cb2
Gossip additional `LightClientFinalityUpdate` on new supermajority
...
When new finality is reached without supermajority sync committee
support, trigger another event push on beacon-API and libp2p once
the new finality gains supermajority support.
Without this, if the first `LightClientFinalityUpdate` that advances
finality has low participation, light clients monitoring gossip would
likely get stuck until the next time when finality advances (1 epoch).
Thanks to @DragonDev1906 for reporting this issue to Nimbus:
- https://github.com/status-im/nimbus-eth2/issues/5491
2023-11-14 22:28:16 -08:00
Etan Kissling
d9e53cbaf5
Merge branch 'dev' into lc-gindexname
2023-11-06 12:32:53 +01:00
Etan Kissling
e30e8af58f
Use fork choice to determine `finalized_checkpoint` in gossip validation
...
Update gossip validation rules to use the highest `finalized_checkpoint`
across _all_ branches (`store.finalized_checkpoint`), instead of the one
on the currently selected branch (`state.finalized_checkpoint`) when
deciding whether to ignore a block / blob because they are already
finalized.
2023-11-06 12:20:11 +01:00
danny
36f0bb0ed6
Merge pull request #3541 from etan-status/df-rmsigned
...
Remove `SignedBlobSidecar` refs from p2p spec
2023-11-03 14:03:04 -06:00
Etan Kissling
9338d37c15
Update toc
2023-11-03 11:47:30 +01:00
Etan Kissling
3ef362ce90
Remove unused `DOMAIN_BLOB_SIDECAR`
...
Blob sidecars are no longer signed, remove signing domain.
2023-11-03 11:30:28 +01:00
Etan Kissling
321f47bb27
Remove `SignedBlobSidecar` refs from p2p spec
...
P2P spec still mentions _signed_ blob sidecars. Remove _signed_ as that
is no longer accurate.
2023-11-03 11:28:17 +01:00
danny
e21ed6de4f
clarify/fix things in blob requests
2023-11-02 10:03:56 -06:00
danny
c6f7adf319
Merge pull request #3531 from dapplion/blob-p2p-proof
...
Add blob sidecar inclusion proof
2023-11-02 09:56:08 -06:00
danny
7118c30b67
a few cleanups to sidecar gossip conditions
2023-11-02 09:40:49 -06:00
Hsiao-Wei Wang
3492c0a99a
minor refactoring
2023-11-02 22:10:06 +07:00
Hsiao-Wei Wang
38d354fb01
Merge pull request #3034 from michaelsproul/proposer-boost-reorg
...
Allow honest validators to reorg late blocks
2023-11-02 23:54:43 +09:00
Hsiao-Wei Wang
71106f1d64
Remove `BLOB_KZG_COMMITMENTS_GINDEX`
2023-11-02 21:38:01 +07:00
dapplion
4a609cec57
rename to kzg_commitment_inclusion_proof
2023-11-01 15:57:41 +02:00
Etan Kissling
89c986ee6a
Rename `_INDEX` generalized index constants to `_GINDEX`
...
To assist with readability, use `_GINDEX` suffix when referring to
generalized index constants.
Does neither affect consensus, beacon-API nor builder API.
2023-11-01 13:30:55 +01:00
danny
4e5599f41b
Merge pull request #3535 from ethereum/ralexstokes-patch-3
...
`deneb`: Suggest sidecars by root callers verify blob sidecars
2023-10-31 10:28:01 -06:00
Lion - dapplion
7f63f003c0
Merge branch 'dev' into blob-p2p-proof
2023-10-31 11:45:54 +02:00
dapplion
19883ec592
Add verify_blob_kzg_proof condition
2023-10-31 11:39:57 +02:00
danny
9b1e0b7354
Merge pull request #3534 from ralexstokes/clean-up-deneb-tx-type
...
remove `BLOB_TX_TYPE` from spec (and move to tests)
2023-10-30 10:53:58 -06:00
danny
72869c5c2d
Merge pull request #3533 from ethereum/ralexstokes-patch-2
...
`deneb`: Update block production to more precisely reflect the latest flow
2023-10-30 10:53:24 -06:00
Hsiao-Wei Wang
51343f54fe
Fix typing and delete the `signed_sidecar`
2023-10-30 18:28:12 +08:00
dapplion
d323f0568f
drop sidecar alias
2023-10-30 10:39:33 +02:00
Lion - dapplion
b803f1ceeb
Update specs/deneb/p2p-interface.md
...
Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>
2023-10-30 10:38:48 +02:00
Lion - dapplion
126e807d19
Update specs/deneb/p2p-interface.md
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-10-30 10:34:51 +02:00
dapplion
c680212183
drop is_valid_merkle_path
2023-10-30 10:33:49 +02:00
Hsiao-Wei Wang
0e4737eba2
Add a general `compute_merkle_proof` helper to replace container-specific helpers
2023-10-30 14:44:32 +08:00
Hsiao-Wei Wang
b7e0b88cb1
Fix test
2023-10-29 03:28:57 +08:00
Hsiao-Wei Wang
de3b6a24dc
Fix toc
2023-10-29 02:33:39 +08:00
Hsiao-Wei Wang
1657d16afd
Add `BLOB_KZG_COMMITMENTS_GINDEX` to "Constant". Use pyspec parser trick to add assertion in pyspec
2023-10-29 02:33:07 +08:00
Alex Stokes
f214e25509
Update p2p-interface.md
...
Suggest readers of `BlobSidecarsByRoot` also verify KZG proofs of blob data.
2023-10-28 11:41:27 -06:00
Alex Stokes
35e22702f3
remove `BLOB_TX_TYPE` from spec (and move to tests)
2023-10-28 11:11:27 -06:00
Alex Stokes
56f8c2bb06
Update validator.md
...
Align block production description using the latest APIs with corresponding symbols.
2023-10-28 10:39:54 -06:00
Hsiao-Wei Wang
26516ec3e9
Move `KZG_COMMITMENT_INCLUSION_PROOF_DEPTH` to preset and cast `int()`
2023-10-28 03:53:16 +08:00
dapplion
0bf9e75964
review PR
2023-10-27 20:22:17 +03:00
dapplion
83e5930b5c
doctoc
2023-10-27 20:08:40 +03:00
dapplion
f2649f65ba
fix unit tests
2023-10-27 20:03:06 +03:00
Lion - dapplion
8712451c43
Update specs/deneb/p2p-interface.md
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-10-27 18:09:01 +03:00
dapplion
caa79a5a02
build tree
2023-10-27 18:08:20 +03:00
dapplion
c2a64a18f0
pass lint
2023-10-27 17:20:58 +03:00
dapplion
3dbe54e4b8
doctoc
2023-10-27 16:16:10 +03:00
dapplion
a4a29a164f
List typo
2023-10-27 16:15:25 +03:00
dapplion
29bbdf4393
compute KZG_COMMITMENT_INCLUSION_PROOF_DEPTH
2023-10-27 16:14:17 +03:00
dapplion
e8bccecba5
remove verify_blob_sidecar_signature
2023-10-27 15:47:33 +03:00
dapplion
530efa88aa
Add blob sidecar inclusion proof
2023-10-27 12:10:29 +03:00
Hsiao-Wei Wang
d8440f8bb4
Merge branch 'dev' into pr3034
2023-10-26 23:51:35 +08:00
Michael Sproul
3f1bc20512
Clarifications for proposer boost reorgs
2023-10-26 17:44:59 +11:00
Nishant Das
1a53dbbf96
Update p2p-interface.md
2023-10-25 22:05:57 +08:00
Hsiao-Wei Wang
22215b8fe4
Fix `parent_state_advanced` side effect and reorder the conditions
2023-10-25 01:34:57 +08:00
danny
ce387d65c9
shift wehre warning is in comments
2023-10-23 09:15:06 -06:00
danny
16498c60aa
Update fork-choice.md
2023-10-20 12:06:47 -06:00
Hsiao-Wei Wang
0f61819e5c
Update other specs accordingly and re-order "Proposer head and reorg helpers" section
2023-10-20 14:41:51 +08:00
danny
991d6d5609
add note about not invalidating valid and available blocks
2023-10-19 20:58:20 -06:00
Hsiao-Wei Wang
651db2f858
Refactoring
2023-10-19 19:18:29 +08:00
danny
a2d021da48
re-order conditions
2023-10-18 10:38:43 -06:00
Enrico Del Fante
27ad39b73a
Add new gossip rule to `REJECT` sidecars with index >= MAX_BLOBS_PER_BLOCK
2023-10-18 11:54:47 +02:00
Hsiao-Wei Wang
8d91941818
Merge branch 'dev' into official-kzg
2023-10-18 00:16:01 +08:00
Hsiao-Wei Wang
3cab9ed44d
Remove the "TBD" note
2023-10-18 00:08:15 +08:00
Hsiao-Wei Wang
65e1371980
Fix tests
2023-10-16 21:31:07 +08:00
shuoer86
bae3384071
Fix typos
2023-10-16 21:16:26 +08:00
Hsiao-Wei Wang
9257ad28ac
Rename `KZG_SETUP_LAGRANGE` to `KZG_SETUP_G1_LAGRANGE` and `KZG_SETUP_G2` to `KZG_SETUP_G2_MONOMIAL`
2023-10-16 17:41:46 +08:00
Hsiao-Wei Wang
01fa0fe64a
Replace `ROOTS_OF_UNITY` with runtime-computed `compute_roots_of_unity(FIELD_ELEMENTS_PER_BLOB)`
2023-10-16 17:38:09 +08:00
Hsiao-Wei Wang
d74932bec9
Merge branch 'dev' into pr3442
2023-10-16 17:22:31 +08:00
Hsiao-Wei Wang
c5785899f7
Use official KZG ceremony output `trusted_setup_4096.json` trusted setups
2023-10-12 19:54:18 +08:00
Lion - dapplion
8acb254511
Use add_validator_to_registry in whisk ( #3486 )
2023-10-10 15:09:21 +03:00
joethechicken
28e3c807e2
Update validator.md ( #3509 )
2023-09-20 12:53:50 +01:00
Hsiao-Wei Wang
264dfadfe0
Merge branch 'dev' into pr3499
2023-09-18 18:07:39 +08:00
Hsiao-Wei Wang
26d3fa3efd
Apply suggestions from code review
...
Co-authored-by: danny <dannyjryan@gmail.com>
2023-09-15 22:02:34 +08:00
Hsiao-Wei Wang
d26dac9121
Merge pull request #3493 from mxinden/patch-1
...
fix(sepcs/p2p): link to libp2p Yamux specification
2023-09-15 16:00:27 +08:00
Hsiao-Wei Wang
468ae9aae4
Update the link of `EIP-7044`
2023-09-15 11:04:08 +08:00
Hsiao-Wei Wang
e5e50e3e40
Add EIP-7514 into Deneb
2023-09-15 10:49:06 +08:00
Max Inden
909388ba8d
fix(sepcs/p2p): link to libp2p Yamux specification
...
Previously the specification would link to the Hashicorp Yamux specification.
https://github.com/hashicorp/yamux/blob/master/spec.md
Since adoption by libp2p, there have been multiple refinements to the original specification. The improved specification can be found in the libp2p specification repository.
https://github.com/libp2p/specs/blob/master/yamux/README.md
2023-09-14 17:08:44 +02:00
Lion - dapplion
0efd778594
Update beacon_chain.md
2023-09-14 16:31:42 +02:00
dapplion
19bf51dd93
Rename eip7668 to eip7514
2023-09-14 13:44:32 +02:00
Hsiao-Wei Wang
417b95c3e6
Add basic activation churn limit tests
2023-09-13 17:14:26 +08:00
dapplion
298a6304de
review PR
2023-09-13 11:00:22 +02:00
Hsiao-Wei Wang
fd37ffcb61
Add _features/eip7668 and make linter happy
2023-09-12 21:37:09 +08:00
dapplion
e6f7c99b77
Add limit inbound churn
2023-09-12 12:52:08 +02:00
dapplion
4eca8e4292
Add CRS files
2023-09-12 10:23:31 +02:00
Michael Sproul
45a3615816
Allow honest validators to reorg late blocks
2023-09-12 15:27:10 +10:00
Hsiao-Wei Wang
c5c7233e49
Merge pull request #3352 from michaelsproul/boost-first-block
...
Apply proposer boost to first block in case of equivocation
2023-09-12 10:56:58 +08:00
terence tsao
59680c0470
remove: old warnings
2023-09-05 08:59:14 -07:00
Lion - dapplion
eef61448a9
Whisk: don't mutate candidates during cooldown ( #3483 )
2023-08-20 14:46:22 +03:00
Lion - dapplion
0b751fc259
Whisk move non-preset values to config ( #3482 )
2023-08-20 14:42:12 +03:00
zhiqiangxu
6f57e2bd26
"can slashable" => "can be slashable"
2023-08-09 11:13:39 +08:00
Hsiao-Wei Wang
fa1015ca03
Update Capella FC too
2023-08-04 21:58:07 +08:00
Hsiao-Wei Wang
63c39dbaff
Merge branch 'dev' into pr3352
2023-08-04 14:45:47 +08:00
Hsiao-Wei Wang
56d6d1a51e
Merge pull request #3463 from ethereum/deneb-fc-tests-take-2
...
Deneb fork choice tests - take 2
2023-08-03 21:40:24 +08:00
Hsiao-Wei Wang
e79caff2f7
Clean up `is_data_available`. Remove the stub `retrieve_blobs_and_proofs` responses.
2023-07-25 23:32:55 +08:00
Hsiao-Wei Wang
01c358c873
Rename "data gas" to "blob gas"
2023-07-25 13:28:34 +08:00
Danny Ryan
726b453332
Merge pull request #3446 from ppopth/on-reused-index
...
EIP-6914: Update the equivocating indices in the fork-choice store
2023-07-24 13:40:45 -06:00
dapplion
211376e35c
Update curdleproofs usage
2023-07-24 20:15:46 +02:00
Suphanat Chunhapanya
d8b023c5d8
Explain more on on_reused_index
2023-07-18 19:55:18 +07:00
Justin Traglia
16b1afb1ef
Add punctuation to docstring
2023-07-15 17:53:10 +02:00
Justin Traglia
fafd48f06a
Fix comment
2023-07-15 17:30:08 +02:00
Justin Traglia
3f3d4123f6
Unmark validators field as modified
2023-07-15 17:09:06 +02:00
Justin Traglia
86a147a740
Link to dev branch instead of master
2023-07-15 14:13:07 +02:00
Justin Traglia
4ddaff5a77
Fix links to curdleproofs.pie repo
2023-07-15 13:58:04 +02:00
Hsiao-Wei Wang
71c25f8664
Merge branch 'dev' into pr3442
2023-07-14 22:25:39 +08:00
Suphanat Chunhapanya
3ed0619951
Update the equivocating indices in the store
...
Since we sometimes reuse the slashed validator index, we need to remove
it from the list of equivocating indices in the fork-choice store.
2023-07-11 21:49:24 +07:00
dapplion
7f9a0264ce
Update specs with state.whisk_trackers
2023-07-05 17:18:54 +02:00
dapplion
91ff707887
Fix test lint issues
2023-07-05 17:18:52 +02:00
dapplion
4ce2b02b44
Add whisk tests
2023-07-05 17:18:34 +02:00
Hsiao-Wei Wang
7b771ccb13
Merge branch 'dev' into eip7002
2023-06-26 18:07:48 +08:00
Danny Ryan
fa649e5430
Update specs/deneb/beacon-chain.md
2023-06-22 10:02:23 -06:00
Danny Ryan
ad4f1def32
Apply suggestions from code review
2023-06-22 10:01:49 -06:00
Alex Stokes
2660af0539
move 4788 feature to deneb specs
2023-06-22 09:00:50 -06:00
Alex Stokes
57a75d033f
formatting
2023-06-21 11:40:54 -06:00
Danny Ryan
95f36d99cf
Merge pull request #3360 from ethereum/att-slot-range
...
EIP-7045: Increase max attestation inclusion slot
2023-06-21 08:30:26 -06:00
djrtwo
ecefe2d147
pr review
2023-06-20 15:50:20 -06:00
djrtwo
668568ea22
spelling
2023-06-19 12:05:49 -06:00
djrtwo
919052081b
toc
2023-06-19 08:33:05 -06:00
Lion - dapplion
c90d724392
Whisk: add preset files ( #3424 )
...
* Add Whisk preset files
* Use N=8 for minimal preset
* Update spec_object var location
2023-06-19 17:10:15 +03:00
Lion - dapplion
cc4c810b8f
Whisk: complete TODO items in fork logic ( #3427 )
...
* Complete TODO items in fork logic
* Simpler underflow protection
* Add saturating_sub
2023-06-19 17:08:51 +03:00
Roberto Saltini
5e3c0107ef
Review change
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-06-18 19:07:35 +10:00
Hsiao-Wei Wang
59fd2a6400
Merge branch 'dev' into eip7002
2023-06-18 16:40:17 +08:00
Roberto Saltini
911968413f
Merge branch 'ethereum:dev' into fork-choice-changes-for-confirmaton-rule
2023-06-17 15:14:06 +10:00
Hsiao-Wei Wang
781cd83f09
fix typo
2023-06-16 17:21:34 +08:00
Hsiao-Wei Wang
66eca39533
Merge branch 'dev' into pr3311
2023-06-16 16:24:55 +08:00
Lion - dapplion
834f6f70e7
Whisk: assert zeroed values during selection gap ( #3425 )
...
* Assert zeroed values during selection gap
* Update comment
2023-06-15 14:33:28 +03:00
Roberto Saltini
7c023cc3cf
Fork choice changes to enable confirmation rule execution via beacon APIs
2023-06-15 11:07:30 +10:00
djrtwo
ec4bdae2d4
build EIP 7045 into Deneb fork
2023-06-14 15:03:28 -06:00
Lion - dapplion
65a28b6d69
Whisk: Move validator whisk trackers and commitments to state ( #3407 )
...
* Move validator whisk trackers and commitments to state
* Move comment
2023-06-14 18:58:57 +03:00
Lion - dapplion
0ab160bc28
Add initialize_beacon_state_from_eth1 ( #3428 )
2023-06-14 18:55:07 +03:00
Lion - dapplion
7b132c20d1
Fix typos in get_shuffle_indices ( #3426 )
2023-06-14 18:52:22 +03:00
djrtwo
559b89c447
Merge branch 'dev' into att-slot-range
2023-06-14 09:35:30 -06:00
Danny Ryan
14212958d3
Merge pull request #3288 from dapplion/voluntary_exit-domain
...
EIP-7044: Lock voluntary exit domain on capella
2023-06-14 09:26:33 -06:00
Hsiao-Wei Wang
420f8baf67
Rework tests. Move all `process_voluntary_exit` tests to Deneb
2023-06-14 23:04:46 +08:00
Lion - dapplion
12fabf5854
Update specs/deneb/beacon-chain.md
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-06-14 16:47:17 +03:00
Hsiao-Wei Wang
19edc2d1ec
Merge branch 'dev' into eip7002
2023-06-13 19:35:02 +08:00
Hsiao-Wei Wang
210c4827bc
Move `BLOB_SIDECAR_SUBNET_COUNT` to networking config
2023-06-12 23:57:21 +08:00
gajinder
512d2ca516
Update blob side car subnet count to 6 in line with max blobs limit update
2023-06-12 20:24:22 +05:30
Hsiao-Wei Wang
99f294cdd8
Add link to EIP PR7044. Need to change it to eips.ethereum.org path once the EIP is merged
2023-06-12 16:02:28 +08:00
Hsiao-Wei Wang
4f839b7b79
Merge branch 'dev' into pr3288-comment
2023-06-12 15:51:52 +08:00
Paul Harris
5576d0e685
Moved configuration into network preset instead of constants. ( #3394 )
...
* Moved configuration into network preset instead of constants.
Now that `MAX_CHUNK_SIZE` and `GOSSIP_MAX_SIZE` are in configuration, we no longer need separate constants to represent them in the spec when they change in Bellatrix.
I've changed the usage, and put the values into the presets, but I'm not sure if I've updated the descriptions in the best way...
This is following on from the work in #3375 where a number of constants got moved into configuration, so we no longer need these constants to be separately represented, they can simply be updated in presets.
* Update presets/minimal/bellatrix.yaml
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
* Update presets/mainnet/bellatrix.yaml
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
* Moved preset items into the correct section and updated TOC.
It looked like the items listed in configuration about the max size and chunk size were no longer needed since we're updating preset values now and the preset changes seem to only be listed in the changes at the top.
* review feedback
* hopefully correct this time! Moved the 2 fields from configs into presets completely as suggested.
* WIP - changing back to being in config and updating the phase 0 value... I think this should be close but want to see what's outstanding.
* fix intellij's formatting of table.
* more fixes
---------
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-06-09 23:12:38 +08:00
Hsiao-Wei Wang
45f3432019
Update `MAX_BLOBS_PER_BLOCK` to `6` and add Deneb networking configs to yaml files ( #3410 )
2023-06-09 23:10:00 +08:00
Danny Ryan
05790d380b
Merge pull request #3406 from ethereum/deneb-4844-clean
...
specially mark EIP4844 changes
2023-06-09 08:46:48 -06:00
Lion - dapplion
efd2429b3f
Move whisk_opening_proof to block body ( #3408 )
2023-06-09 11:28:06 +03:00
Hsiao-Wei Wang
76214c7cae
Merge pull request #3162 from dapplion/eip4844-dedup-range
...
De-duplicate range references in BlobSidecarsByRange
2023-06-09 00:54:27 +08:00
Lion - dapplion
241e52a202
Whisk (SSLE) with Curdleproofs - rebased ( #3342 )
...
* Introduce consensus code for Whisk
* polish, simplify, clean up (~100 fewer lines)
@asn-d6: As discussed, I fixed a few bugs along the way but likely also introduced some bugs :)
* minor cleanups and fixes
* simplify is_k_commitment_unique
* Update beacon-chain.md
* Update beacon-chain.md
* Initialize `k` in `get_validator_from_deposit()`
* minor cleanups
* Update beacon-chain.md
* Create beacon-chain.md
This PR changes the Whisk tracker format to be of the form `(r * pubkey, r * BLS_GT_GENERATOR)` instead of `(r * k * BLS_G1_GENERATOR, r * BLS_G1_GENERATOR)`. This allows for non-interactive tracker registrations from validator pubkeys, removing ~50 lines the code. It also significantly reduces the amount of state overhead. This PR also removes permutation commitments, though those can be easily readded if deemed necessary.
* A couple of fixes to the no-registration simplification
@asn-d6: Readded a consistency check for `IsValidWhiskOpeningProof` (involving `pubkey` instead of `k_commitment`).
* remove unused helpers
* use Mary's suggested tracker
* Update beacon-chain.md
* Revert G_t element optimization
This needs its own ethresearch post, and some additional analysis to see if we can do the shuffle ZKP in the allowed
timeframe.
This reverts commit 8517acabfc1dbb1a35789e6170b5db0bb2c19c9a.
* Implement new shuffling strategy
Ditch the Feistel logic and instead have each shuffler pick the row they shuffle using their RANDAO reveal.
* Curdleproofs edits
* working whisk eth2spec
* working whisk dummy test
* add more boilerplate set up code
* rebase constants
* Implement even newer and simplified shuffling strategy
This commit further simplifies 0faef30fc131d1b471b63a7f16772eeeef548ef8 by removing the entire squareshuffle.
The latest version of https://eprint.iacr.org/2022/560 proposes that each shuffler picks random indices from the entire
candidate set instead of organizing validators into a square.
* Move to _features
* remove dummy test
* Run doctoc
* Change Whisk's previous fork to Capella instead of Bellatrix. Make linter happier.
* Fix lint
* Fix pylint
* Fix mypy issues
* Clean-up get_beacon_proposer_index
* Fix doc headers
* Fix capella link
* Update apply_deposit
* Rename process_shuffled_trackers
---------
Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Nalin Bhardwaj <nalinbhardwaj@nibnalin.me>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-06-08 15:35:03 +08:00
Hsiao-Wei Wang
b7e21d6caf
PR feedback and make the marks italic
2023-06-08 15:05:46 +08:00
Hsiao-Wei Wang
bab93e8d44
specially mark EIP7044 changes
2023-06-07 18:54:04 +08:00
Hsiao-Wei Wang
5f241bb7a4
Merge branch 'deneb-4844-clean' into pr3288-comment
2023-06-07 18:38:20 +08:00
Hsiao-Wei Wang
a547d47264
specially mark the EIP4844 changes
2023-06-07 17:48:26 +08:00
Mikhail Kalinin
f5e00848d0
Remove assert from is_data_available
2023-06-07 11:59:51 +06:00
Hsiao-Wei Wang
468b5be7b8
Merge pull request #3368 from ethereum/ralexstokes-patch-3
...
Remove extraneous length check from deneb forkchoice
2023-06-02 01:54:47 +08:00
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
a965ca7ac4
Merge pull request #3391 from ethereum/data_gas_used
...
Add `data_gas_used` field to `ExecutionPayload`
2023-06-01 23:09:46 +08:00
Hsiao-Wei Wang
60721b9d8a
switch order
2023-06-01 22:39:01 +08:00
Hsiao-Wei Wang
2a53d484b8
Remove EIP7002 light client specs
2023-06-01 18:41:09 +08:00
Hsiao-Wei Wang
b8949677fd
Merge branch 'dev' into eip7002
2023-06-01 18:37:31 +08:00
Hsiao-Wei Wang
aeca477398
Merge branch 'dev' into att-slot-range
2023-06-01 18:20:24 +08:00
Hsiao-Wei Wang
0d4b07f63c
Merge pull request #3389 from ethereum/fork-settings
...
Turn off light client tests for feature specs
2023-06-01 14:59:27 +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
30da14e9b4
Create `LIGHT_CLIENT_TESTING_FORKS` to limit the light client tests
2023-05-25 13:49:41 +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
738b9818b3
Merge pull request #3375 from ethereum/networking-configs
...
Add networking configs to config files
2023-05-24 10:38:35 +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
djrtwo
68ce45b305
move epoch subscription length to config
2023-05-23 13:56:09 -06: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
Danny Ryan
fa4a103712
Apply suggestions from code review
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2023-05-22 08:07:43 -06:00
djrtwo
3550821577
Merge remote-tracking branch 'origin' into att-slot-range
2023-05-22 08:06:57 -06: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
d4483e4ca7
Merge branch 'dev' into eip7002
2023-05-20 01:38:08 +08:00
Hsiao-Wei Wang
8ecf89a2eb
Apply PR feedback from @djrtwo and add more tests
2023-05-20 01:37:50 +08:00
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
Hsiao-Wei Wang
f87e1436bf
Add networking configs to config files
2023-05-19 22:39:18 +08:00
Alex Stokes
7097dcf27a
Clarify blob subnets
2023-05-18 15:27:47 -06:00
djrtwo
6679b8a1ae
attslotrange -> eip-7045
2023-05-18 10:49:57 -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
djrtwo
f967567ec7
add a comment annotation for fork update
2023-05-17 13:15:29 -06: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
djrtwo
a08cc48e9e
toc
2023-05-17 11:15:24 -06:00
djrtwo
df1b105b05
change rewards flag tracking to allow for any inclusion delay for target reward flag
2023-05-17 11:08:15 -06:00
Justin Traglia
32358e8fad
Add comment about zero elements in batch verification ( #3367 )
2023-05-17 19:24:48 +03:00
Danny Ryan
235582f4f4
Update specs/_features/attslotrange/beacon-chain.md
...
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2023-05-17 09:35:32 -06:00
djrtwo
558be7a9a3
add initialize beacon state from eth1 for AttSlotRAnge
2023-05-16 12:20:09 -06:00
Hsiao-Wei Wang
0b2f604f86
Fix tests
2023-05-17 00:24:49 +08:00
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
Guillaume Ballet
509fbb2c5c
style: remove confusing underscore
2023-03-10 09:34:44 +01: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
Guillaume Ballet
a5c955fb63
feedback from ACDC
2023-03-09 15:33:15 +01:00
Ben Edgington
7f74a08a6c
Fix trailing whitespace
2023-03-09 11:07:01 +00:00
Guillaume Ballet
567e62fbe9
Style feedback
...
Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2023-03-09 11:48:00 +01: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
Guillaume Ballet
d0c7bbc802
rebase and move to _features
2023-02-19 20:16:48 +01:00
Guillaume Ballet
3b362c6115
Use Optional[Bytes32] instead of Union[Null, Bytes32] for value diffs
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-02-19 20:15:55 +01:00
Guillaume Ballet
698650cd19
add a comment to pinpoint the new, verge-related fields
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2023-02-19 20:15:55 +01:00
Guillaume Ballet
8fc37ca64c
fix some typos
2023-02-19 20:15:55 +01:00
Guillaume Ballet
832a799907
Update specs/verge/beacon-chain.md
...
Co-authored-by: terencechain <terence@prysmaticlabs.com>
2023-02-19 20:15:55 +01:00
Guillaume Ballet
3cebedbc5c
Spec draft for the verge
...
Co-Authored-By: Dankrad Feist <mail@dankradfeist.de>
2023-02-19 20:15:55 +01: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