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
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
Ramana Kumar
9ac605cc5e
Fix incorrect comment
...
bit-reversal permutation is not idempotent
2022-09-27 12:13:56 +01:00
George Kadianakis
6c2b46ae32
Merge pull request #3015 from asn-d6/bytes_to_bls_field
...
EIP4844: Introduce bytes_to_bls_field() helper
2022-09-26 23:55:16 +03:00
Danny Ryan
eeebd42a95
Merge pull request #2998 from ethereum/remove-withdrawn-epoch
...
remove withdrawn_epoch
2022-09-26 14:30:25 -06:00
George Kadianakis
d197ed1451
EIP4844: Introduce bytes_to_bls_field() helper
...
Improves separation between BLS cryptography and Ethereum SSZ logic.
Now the BLS library just implements bytes_to_bls_field(). Then hash_to_bls_field() does the Ethereum SSZ magic and
calls bytes_to_bls_field().
2022-09-26 19:01:01 +03:00
George Kadianakis
f4ba8b55ee
EIP4844: Implement reverse bit ordering in KZG commitments
...
Co-authored-by: Dankrad Feist <mail@dankradfeist.de>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-09-26 16:39:16 +03:00
Alex Stokes
189d61e386
Merge pull request #3008 from terencechain/patch-137
...
eip4844: signed_blobs_header -> signed_blobs_sidecar
2022-09-22 15:13:14 +02:00
George Kadianakis
e4fdb8a0ad
Merge pull request #3005 from ethereum/eip4844-patch-dr
...
Fixing EIP-4844 function names
2022-09-22 12:59:42 +03:00
terencechain
1bb863b2a6
eip4844: signed_blobs_header -> signed_blobs_sidecar
2022-09-21 14:49:18 -07:00
Justin Traglia
5517729859
Fix TOC with check_toc
2022-09-21 16:41:33 -05:00
Justin Traglia
7066307a0f
Fix section name for withdraw_balance
2022-09-21 16:36:27 -05:00
inphi
ceee7bfbf1
EIP-4844: Fee market updates to execution
2022-09-21 09:14:46 -04:00
Justin Traglia
603e27f459
Fix state list lengths table
2022-09-20 15:24:14 -05:00
Justin Traglia
3bc7ff9f80
Fix a few things in Capella specs
2022-09-20 14:43:38 -05:00
Dankrad Feist
b35155005b
Rename matrix_lincomb to vector_lincomb and lincomb to g1_lincomb
2022-09-19 20:16:19 +01:00
Dankrad Feist
b63ed22588
Fix signature of compute_aggregated_poly_and_commitment
2022-09-19 20:10:48 +01:00
Danny Ryan
70f90c5296
rmove withdrawn_epoch
2022-09-19 11:39:46 -06:00
Ben Guidarelli
d70dcd9926
Fix link to beacon-chain doc
2022-09-15 10:21:06 -04:00
Hsiao-Wei Wang
109250b963
Replace `hash_tree_root(x)` with `hash(ssz_serialize(x))`
2022-08-22 16:00:40 +08:00
Hsiao-Wei Wang
d133dae471
Fix codespell errors ( #2975 )
2022-08-18 22:08:44 +08:00
terencechain
cc9a5fe61e
EIP4844: fix format
2022-08-17 06:48:05 -07:00
Danny Ryan
5d0f4af063
Merge mainnet ttd and bellatrix values ( #2969 )
...
* merge mainnet ttd and bellatrix values
* Update configs/minimal.yaml
Co-authored-by: Paul Harris <paul.harris@consensys.net>
Co-authored-by: Paul Harris <paul.harris@consensys.net>
2022-08-15 08:00:14 -06:00
Danny Ryan
18dc61f4c5
Merge pull request #2961 from ethereum/execution_payload_tests
...
more execution payload tests and cleanup old ones
2022-08-04 07:44:53 -06:00
Danny Ryan
7e360240f9
more execution payload tests and cleanup old ones
2022-08-01 11:42:38 -06:00
Danny Ryan
fb71509052
Merge pull request #2953 from potuz/overloaded-index
...
Do not overload index with WithdrawalIndex and ValidatorIndex
2022-08-01 11:15:37 -04:00
David Theodore
c51e67a059
fixed typo in on_block() definition
2022-07-29 00:13:32 -07:00
Potuz
2c32fa6473
Do not overload index with WithdrawalIndex and ValidatorIndex
2022-07-26 17:34:02 -03:00
Etan Kissling
52a741f7c6
Improve grammar
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-25 15:46:29 +02:00
Etan Kissling
56363cd94a
Define libp2p protocol for light client sync
...
While the current Altair specs define structures to aid light client
development, one missing key aspect is the network protocol definition.
Certain implementations have started defining their own REST based APIs,
e.g., Lodestar at https://github.com/ChainSafe/lodestar/blob/master/packages/api/src/routes/lightclient.ts
While such APIs are useful, REST does not seem to be the ideomatic
choice as the sole API available at such a low level for Ethereum.
This patch introduces a libp2p based protocol to allow light clients to
sync to the latest `BeaconBlockHeader` in a trustless and decentralized
manner, building on top of prior work from:
- @hwwhww at https://github.com/ethereum/consensus-specs/pull/2267
- @jinfwhuang at https://github.com/ethereum/consensus-specs/pull/2786
- Lodestar's REST API (also has an endpoint to fetch merkle proofs!)
2022-07-22 17:56:41 +02:00
Etan Kissling
8ced2c3ae1
Remove newlines between items for visual consistency
2022-07-22 17:46:07 +02:00
Etan Kissling
78d336e28d
Describe light client sync process
...
Provides documentation about the process that a light client may use to
sync a local `LightClientStore`.
2022-07-22 17:12:57 +02:00
Hsiao-Wei Wang
0e82acfd61
Merge pull request #2945 from Inphi/eip4844-nit
...
Fix Polynomial container size
2022-07-22 19:48:02 +08:00
Hsiao-Wei Wang
d717f7e4d1
Merge pull request #2947 from etan-status/lc-forceupdate
...
Manually trigger `LightClientStore` force updates
2022-07-22 19:42:55 +08:00