Commit Graph

4947 Commits

Author SHA1 Message Date
Danny Ryan d4a9b97cd0
Merge pull request #3084 from ethereum/validator-note-for-bls-change
Add note to Capella validator guide about BLS to execution change
2022-11-10 11:32:04 -07:00
inphi a59dd37933
Merge remote-tracking branch 'origin/dev' into inphi/eip4844-rebase 2022-11-10 13:17:57 -05:00
Danny Ryan 4b573f82f6
Merge pull request #3091 from terencechain/patch-138
EIP4844: Explicitly mention old gossip validations for block
2022-11-10 11:16:18 -07:00
Danny Ryan 0e7d3555ea
minor copy edits 2022-11-10 11:12:33 -07:00
Danny Ryan 37996fc36c
Merge pull request #3068 from potuz/withdrawals_without_queues
Withdrawals without queues
2022-11-10 10:49:25 -07:00
Alex Stokes be85e9356a
Update specs/capella/validator.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-11-10 09:12:35 -05:00
Alex Stokes 0f93e9aad8
Update specs/capella/validator.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-11-10 09:12:10 -05:00
Alex Stokes be098b60c0
Update specs/eip4844/p2p-interface.md 2022-11-10 09:10:01 -05:00
Potuz 7f266bcb0f Use next_validator_withdrawal_index 2022-11-10 08:33:11 -03:00
terencechain 579f8fd1d2
EIP4844: Explicitly mention old gossip validations for block 2022-11-09 15:06:58 -08:00
Potuz 710b124cdc fix last commit 2022-11-08 21:51:54 -03:00
Potuz 8f42e485c7 Add extra % 2022-11-08 19:53:58 -03:00
Michael Sproul dae1011194
Fix typos
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-09 09:41:21 +11:00
terence tsao c447662ba0 Fix `BeaconBlocksByRootV2` for pre-4844 support 2022-11-08 12:55:43 -08:00
terence tsao cb9159fe58 EIP4844: Add block and sidecar retrival by root 2022-11-08 10:41:48 -08:00
inphi e3e73a8f54
Add Capella fork version 2022-11-08 09:06:38 -05:00
Michael Sproul 91de8a09f3
Fix slot checks in light client p2p spec 2022-11-08 17:06:07 +11:00
Alex Stokes 8bb1751f46
Add note to Capella validator guide about BLS to execution change 2022-11-07 15:22:26 -07:00
Potuz 99e2704c2c make tests pass 2022-11-07 17:56:01 -03:00
Potuz ac670e2c47 add phase0 sentence regarding process slots 2022-11-07 17:34:19 -03:00
Potuz 2f89f5096d Danny's review 1st pass 2022-11-07 17:29:56 -03:00
terence tsao f010de0871 Remove domain blobs sidecar 2022-11-07 07:16:42 -08:00
Hsiao-Wei Wang 95ee291f58
Merge branch 'dev' into pr3052 2022-11-07 10:10:16 -05:00
Hsiao-Wei Wang 544ae28721
Merge pull request #3016 from ethereum/gen_kzg_trusted_setups
Rework the testing KZG trusted setups presets
2022-11-07 22:29:54 +08:00
Hsiao-Wei Wang b7dfd5a37e
Merge pull request #3027 from ethereum/eip-4844-fee-ssz-fix
eip4844: update tx_peek_blob_versioned_hashes to match tx type from fee market update
2022-11-07 22:22:12 +08:00
Hsiao-Wei Wang dac756efee
Minor clean up 2022-11-07 09:09:09 -05:00
Etan Kissling 08ff71688f
Merge branch 'dev' into lc-blockfuncs 2022-11-07 15:03:20 +01:00
Hsiao-Wei Wang 72544d5307
Merge pull request #3081 from ethereum/add-capella-bls-to-exec-change-block-packing
add note about packing BLS to execution changes into a block
2022-11-07 06:22:04 +08:00
Hsiao-Wei Wang 6f0a7ef046
Merge pull request #3080 from ethereum/ralexstokes-patch-1
Fix typo in `bellatrix` p2p docs
2022-11-07 05:18:03 +08:00
Alex Stokes b5ecf44c91
add note about packing BLS to execution changes into a block 2022-11-04 16:41:07 -06:00
Alex Stokes e1e37deb56
Merge pull request #3075 from ethDreamer/gossip_bls_to_execution_change
Capella: Add Gossip Topic bls_to_execution_change
2022-11-04 16:22:43 -06:00
Alex Stokes c8d1614e7e
Apply suggestions from code review 2022-11-04 16:19:26 -06:00
ethDreamer 355ca296b8
Update specs/capella/p2p-interface.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-04 17:13:23 -05:00
ethDreamer 6c1fa0a485
Update specs/capella/p2p-interface.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-04 17:13:15 -05:00
ethDreamer 1f68c57a7b
Update specs/capella/p2p-interface.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-11-04 17:13:07 -05:00
Alex Stokes cd5567b735
Update p2p-interface.md 2022-11-04 15:54:30 -06:00
Potuz 8488fb79d9 Alex Stokes' review 2022-11-04 18:47:56 -03:00
Potuz e15b02d16f lint 2022-11-04 09:13:21 -03:00
Potuz 22f803a038 name change and increment operator 2022-11-04 07:20:26 -03:00
Potuz 6e913ecbd2 rename to latest_withdrawal_validator_index 2022-11-03 20:23:35 -03:00
Hsiao-Wei Wang 0b1f32ec25
Fix capella/block_processing tests 2022-11-03 16:08:05 -05:00
Potuz a09d617737 right ret 2022-11-03 15:07:03 -03:00
Potuz 329bafa6e2 dapplion's suggestions 2022-11-03 14:58:55 -03:00
Potuz 12404d0250 fix for loop 2022-11-03 14:56:38 -03:00
Hsiao-Wei Wang ad36548480
Fix auto-rebase errors 2022-11-03 11:46:07 -05:00
Potuz 39e6ec5d14
lint 2022-11-03 11:43:56 -05:00
Potuz a14479a70f
g11tech review 2022-11-03 11:43:56 -05:00
Potuz ff1dd90012
fix toc 2022-11-03 11:43:24 -05:00
Potuz 5b92eae08f
type annotation 2022-11-03 11:43:24 -05:00
Potuz 0f74ab5686
type annotation 2022-11-03 11:43:24 -05:00
Potuz c156ea6adc
linting and typo 2022-11-03 11:43:24 -05:00
Potuz 49a2519da2
lint 2022-11-03 11:43:24 -05:00
Potuz 7dbd50e958
Reviewers' comments
- Implemented many of Alex's comments including reinsertion of the
  withdrawal index in the BeaconState
- Implemented Sean's suggestion of separating the logic for block
  production so that one matches the list in the payload with what
`get_expected_withdrawals` returns
- Changed `get_expected_wihdrawals` to match the current behavior and
  moved it to `beacon-chain.md`
2022-11-03 11:42:31 -05:00
Potuz f506087af5
rebase on top of develop 2022-11-03 11:42:30 -05:00
Potuz d958ed70b4
Implement withdrawals without queues 2022-11-03 11:40:54 -05:00
George Kadianakis b2d72a18f0 Fix type error in the inputs to hash_to_bls_field() 2022-11-03 18:13:36 +02:00
Hsiao-Wei Wang 5a0d84ed01
int casting to avoid underflow 2022-11-03 10:21:09 -05:00
George Kadianakis 86e15764ad
EIP4844: Update cryptography API (#3038)
This commit changes the public API of the KZG library to the following high-level API:

```
- verify_kzg_proof()
- compute_aggregate_kzg_proof()
- verify_aggregate_kzg_proof()
- blob_to_kzg_commitment()
```

compared to the previous much more low-level API:

```
- compute_powers()
- matrix_lincomb()
- lincomb()
- bytes_to_bls_field()
- evaluate_polynomial_in_evaluation_form()
- verify_kzg_proof()
- compute_kzg_proof()
```

This means that all the cryptographic logic (including Fiat-Shamir) is now isolated and hidden in the KZG library and the `validator.md` file ends up being significantly simplified, only calling high-level KZG functions.

Some additional things that this commit does:

- Moves all EIP4844 cryptography into polynomial-commitments.md
- Improves the Fiat-Shamir stack by removing the need for SSZ and by introducing simple domain separators

Co-authored-by: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
Co-authored-by: Dankrad Feist <mail@dankradfeist.de>
2022-11-03 17:01:32 +02:00
Hsiao-Wei Wang 87dcb83827
Merge pull request #3063 from etan-status/lc-gossipdigests
Document how to derive fork context for LC gossip
2022-11-02 13:12:23 +08:00
Mark Mackey 826c20ffc2 Capella: Add Gossip Topic bls_to_execution_change 2022-11-01 12:54:33 -05:00
Hsiao-Wei Wang 498a5b0722
Merge pull request #3062 from terencechain/rm-signed-blobs
EIP4844: Remove signed blobs
2022-11-01 22:32:45 +08:00
Etan Kissling ff0e525ecc
Pass blocks to LC data creation functions
Future light client protocol extensions may include data from the block
in addition to data from the state, e.g., `ExecutionPayloadHeader`.
To prepare for this, also pass the block to the corresponding functions.
In practice, blocks access is easier than historic state access, meaning
there are no practical limitations due to this change.
2022-10-28 22:14:25 +02:00
Alex Stokes be3c774069
Merge pull request #3065 from etan-status/lc-branchrootdocs
Clarify where LC proofs are rooted
2022-10-28 08:51:26 -06:00
Etan Kissling 5b6eb8007a
Clarify where LC proofs are rooted
Add more detailed LC object documentation to explain that the various
merkle proofs are relative to the beacon block's state root.
Likewise, clarify that sync committees relate to the finalized header
(not to the optimistic header, which can be a period ahead).
2022-10-27 21:44:38 +02:00
Etan Kissling af54c97a6c
Consistently use `compute_sync_committee_period_at_slot`
A few LC functions were not yet updated to use a more concise function
for computing sync committee period for a slot. Updating to that func.
2022-10-27 21:36:55 +02:00
Etan Kissling c399e11aa7
Document how to derive fork context for LC gossip
For LC gossip, the documentation did not specify what slot number to use
for deriving the gossip objects. This missing documentation is now added
to document using `attested_header.slot`.
2022-10-27 21:23:09 +02:00
terence tsao 71775c6e87 EIP4844: Remove signed blobs 2022-10-27 08:10:32 -07:00
Hsiao-Wei Wang af8c5bf532
Merge pull request #3046 from terencechain/couple-block-sidecar
EIP4844: couple beacon block and blob sidecar for p2p
2022-10-26 23:51:23 +08:00
Hsiao-Wei Wang b7c72c3b42
Merge pull request #3047 from terencechain/reduce-min-epochs-blobs-reqs
EIP4844: modify `MIN_EPOCHS_FOR_BLOBS_SIDECARS_REQUESTS` to 18 days
2022-10-26 23:26:45 +08:00
Inphi ca538f52a0
Update specs/eip4844/beacon-chain.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2022-10-25 12:06:07 -04:00
inphi 459310f744
Fix test_process_execution_payload 2022-10-24 16:25:50 -04:00
inphi 0488c0c26e
remove unchanged epoch processing section 2022-10-24 12:51:54 -04:00
inphi 2ac57c7e7b
Fix py setup
And remove the ENABLE_WITHDRAWALS feature-flag. The Testing section in
the spec has been updated to specify how withdrawals is to be disabled
2022-10-24 12:44:11 -04:00
Hsiao-Wei Wang 9844ea1f30
Merge pull request #3040 from ethereum/capella-test-vectors
Capella test vectors
2022-10-23 06:44:03 +08:00
terence tsao e2d0a4fa9a Fix ToC and test 2022-10-22 08:36:46 -07:00
terence tsao 9f4ae4c6ee Update validator spec with `SignedBeaconBlockAndBlobsSidecar` 2022-10-21 17:33:55 -07:00
Inphi f6f2474c87
Update specs/eip4844/beacon-chain.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-10-20 14:39:18 -04:00
inphi 242e1b73bb
Rebase Capella on EIP-4844
This also introduces an `ENABLE_WITHDRAWALS` feature-flag to allow
implementers test EIP-4844 without including Capella-specific state
changes.
2022-10-20 10:36:08 -04:00
Hsiao-Wei Wang 53b63cedc5
Merge branch 'dev' into pr3050 2022-10-19 10:21:32 -05:00
terence tsao dfa5ac8008 @protolambda's feedback, `SignedBlobsSidecar` -> `BlobsSidecar` 2022-10-18 11:34:14 -07:00
terencechain cab2e3ef9a
Describe sidecar and block are recieved together
Co-authored-by: protolambda <proto@protolambda.com>
2022-10-18 11:23:19 -07:00
terencechain 779d9be66a
Compare sidecar slot with block slot
Co-authored-by: protolambda <proto@protolambda.com>
2022-10-18 11:22:43 -07:00
Jim McDonald 0345b2284a
Add validator_index to Withdrawal. 2022-10-18 15:35:06 +01:00
terence tsao b128148a17 Modify `MIN_EPOCHS_FOR_BLOBS_SIDECARS_REQUESTS` to 18 days 2022-10-17 16:24:19 -07:00
terence tsao 96b90200b7 Fix ToC 2022-10-17 16:08:59 -07:00
terence tsao eb5a2c2741 Couple beacon block and blob sidecar for p2p 2022-10-17 15:16:38 -07:00
Hsiao-Wei Wang b90436c988
Fix capella random & fork 2022-10-14 23:42:42 -05:00
ethosdev 24f8ec170b
Remove work-in-progress notes in Bellatrix specs (#3033)
* Remove the work-in-progress note in Bellatrix spec

Bellatrix is done and released.

* Remove work-in-progress notes in Bellatrix specs

* Remove work-in-progress notes in Bellatrix specs

* Remove work-in-progress notes in Bellatrix specs
2022-10-15 05:05:45 +08:00
Alex Stokes 092617ec1e
Remove duplicated definition of `Validator` 2022-10-09 17:02:50 -05:00
Hsiao-Wei Wang 3552e2f6e8
Merge pull request #3018 from ethereum/bump-dep
Bump dep packages version and fix lint issues
2022-10-07 00:21:51 +08:00
protolambda 63ab5996f4
eip4844: update tx_peek_blob_versioned_hashes to match tx type as defined in EIP PR 5707 (fee market update) 2022-10-06 18:13:24 +02:00
Alex Stokes 4e26813c81
Merge pull request #3023 from dapplion/patch-1
Typo in sync committee duties description
2022-10-05 20:10:12 -06:00
Lion - dapplion fda2a69ff7
Typo in sync committee duties description
I assume it refers to producing a signature for the last slot of phase0 fork
2022-10-02 12:19:55 +02:00
Ramana Kumar 807650e8a1
Fix some type annotations for blobs
blobs should not be Sequence[BLSFieldElement], it should be
Sequence[Sequence[BLSFieldElement]]. But we can be more specific and use
Sequence[Blob].
2022-10-01 15:25:47 +01:00
Danny Ryan 6b9e65fab6
Merge pull request #3019 from terencechain/fix-eip4844
EIP4844: various fixes
2022-09-30 10:51:42 -06:00
Danny Ryan 9dfb1897a4
Merge pull request #3004 from Inphi/inphi/eip4844-fee-mkt
EIP-4844: Update ExecutionPayloadHeader
2022-09-30 08:16:53 -06:00
terencechain 779e6e7b7e
Update specs/eip4844/p2p-interface.md
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
2022-09-29 13:43:28 -07:00
terence tsao 06c91e4843 Try a different format for epoch 2022-09-29 07:55:50 -07:00
terence tsao 93cb17dc7f Eip4844: various fixes 2022-09-29 07:36:39 -07:00
Hsiao-Wei Wang 44424c4080
Bump dep packages version and fix lint issues 2022-09-28 12:38:21 +08:00