Commit Graph

7768 Commits

Author SHA1 Message Date
terencechain cc9a5fe61e
EIP4844: fix format 2022-08-17 06:48:05 -07:00
Danny Ryan ff6181f8f5
Merge branch 'master' into dev 2022-08-16 09:04:43 -06:00
Danny Ryan 64b3321640
Merge pull request #2972 from ethereum/transition-testgen-fix
Fix transition test generator
2022-08-16 08:39:50 -06:00
Hsiao-Wei Wang d95c45523f
Fix path: the bellatrix-new tests have been moved to altair file 2022-08-16 14:29:56 +08:00
Danny Ryan 91b584eb21
bump VERSION.txt (#2971) 2022-08-15 09:11:41 -06:00
Mikhail Kalinin 1d0dce75b4
Opti-sync: extend optimistic node definition (#2955)
* Extend optimistic node definition

* Update sync/optimistic.md

Co-authored-by: terencechain <terence@prysmaticlabs.com>

Co-authored-by: terencechain <terence@prysmaticlabs.com>
2022-08-15 08:34:51 -06: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 ccc40e1982
a few more bellatrix tests (#2962)
* Do not overload index with WithdrawalIndex and ValidatorIndex

* a few more bellatrix tests

* use function from other PR

* fix tests

* Update tests/core/pyspec/eth2spec/test/bellatrix/transition/test_transition.py

Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>

* refactor to reuse bellatrix transitio ntests for all transitions

Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-08-15 07:49:53 -06:00
Danny Ryan c04f221fad
Merge pull request #2958 from ethereum/mkalinin-patch-4
Opti sync: elaborate on why sync optimistically
2022-08-09 08:34:59 -06:00
Hsiao-Wei Wang f92312c59d
Update ToC 2022-08-09 22:00:00 +08:00
Hsiao-Wei Wang d26232775f
Merge branch 'dev' into mkalinin-patch-4 2022-08-09 21:59:29 +08:00
Danny Ryan 9352f127ef
minor typo 2022-08-09 07:49:41 -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 3d785dad7a
pr feedback from @hwwhww 2022-08-03 08:24:32 -06:00
Mikhail Kalinin 39852767e4
Merge pull request #2954 from ethereum/mkalinin-patch-2
Opti sync: how to apply `latestValidHash` when payload is `INVALID`
2022-08-03 18:31:50 +06:00
Mikhail Kalinin 14d4f44c11 Extend fork_choice test format with on_payload_info 2022-08-03 18:19:39 +06:00
Mikhail Kalinin b9476bf0ee Expand on opti-sync in context of block sync 2022-08-02 20:04:10 +06:00
Mikhail Kalinin a3b7c6c505
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-08-02 12:25:15 +06:00
Danny Ryan 7e360240f9
more execution payload tests and cleanup old ones 2022-08-01 11:42:38 -06:00
Danny Ryan 8d70a73cac
Apply suggestions from code review 2022-08-01 09:26:18 -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
Mikhail Kalinin 47ee4308fc
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-29 17:31:32 +06:00
Hsiao-Wei Wang 28141e7b87
Merge pull request #2959 from infosecual/on-block-typo-fix
fixed typo in on_block() definition
2022-07-29 18:43:49 +08:00
David Theodore c51e67a059 fixed typo in on_block() definition 2022-07-29 00:13:32 -07:00
Mikhail Kalinin 29b3afeff3
Elaborate on why sync optimistically 2022-07-28 16:21:33 +06:00
Hsiao-Wei Wang a60d0a543b
Merge pull request #2956 from ethereum/opti-sync-toc 2022-07-28 11:23:26 +08:00
Hsiao-Wei Wang e989ca29df
Add ToC 2022-07-28 00:51:09 +08:00
Mikhail Kalinin 4893f9efc9
Handling `latestValidHash` in opti-sync 2022-07-27 16:10:46 +06:00
Potuz 2c32fa6473 Do not overload index with WithdrawalIndex and ValidatorIndex 2022-07-26 17:34:02 -03:00
Danny Ryan 981b05afb0
Merge pull request #2950 from ethereum/mv-merkle-tests
Move `merkle/single_proof` tests to `light_client/single_merkle_proof`
2022-07-26 12:46:51 -04:00
Hsiao-Wei Wang 0e358fc0c6
Merge pull request #2802 from etan-status/lc-libp2p
Define libp2p protocol for light client sync
2022-07-26 17:05:23 +08:00
Etan Kissling 52a741f7c6
Improve grammar
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-25 15:46:29 +02:00
Hsiao-Wei Wang d89c9d1946
Merge pull request #2952 from ethereum/ralexstokes-patch-1
Update `transition` spec test README to include `bellatrix` tests
2022-07-23 12:03:56 +08:00
Alex Stokes 7e54cd09b0
Update README.md 2022-07-22 13:15:46 -06: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
Hsiao-Wei Wang 6657c22ce2
Merge pull request #2951 from etan-status/lc-clientprocess
Describe light client sync process
2022-07-22 23:55:47 +08: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 176a5d227a
Move `merkle/single_proof` tests to `light_client/single_merkle_proof` 2022-07-22 21:34:09 +08: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
Etan Kissling 8643e28f12
`try_...` --> `process_...` 2022-07-22 11:49:07 +02:00
Alex Stokes 4370f30b99
Merge pull request #2948 from mdehoog/spelling
[EIP-4844]: Spelling: remove triple m in BlobsAndCommitments
2022-07-21 16:04:30 -06:00
Michael de Hoog b2c647f2b2
Remove triple m 2022-07-21 11:11:30 -05:00
Etan Kissling f9d866eb28
Manually trigger `LightClientStore` force updates
Replaces `process_slot_for_light_client_store` which force updates the
`LightClientStore` automatically based on `finalized_header` age with
`try_light_client_store_force_update` which may be manually called based
on use case dependent heuristics if light client sync appears stuck.
Not all use cases share the same risk profile.
2022-07-21 16:06:46 +02:00
Hsiao-Wei Wang 78b035abf9
Merge pull request #2944 from etan-status/lc-reducedupdates
Add `LightClient(Finality|Optimistic)Update`
2022-07-21 18:35:04 +08:00
inphi 9016b92691
Fix Polynomial container size 2022-07-21 01:58:22 -04:00
Etan Kissling 95019bb9a9
Improve readability of intro text
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-07-20 17:50:18 +02:00
Etan Kissling 06d9fd8cd3
Add `LightClient(Finality|Optimistic)Update`
Introduces reduced `LightClientUpdate` structures to allow keeping track
of the latest `finalized_header` and `optimistic_header`. This may also
help in scheduling the next query for a full `LightClientUpdate` once
sync committee finality has been reached.
2022-07-20 13:14:58 +02:00
Hsiao-Wei Wang 1d2ef9f8cb
Merge pull request #2938 from etan-status/lc-testsuite
Add functions for deriving light client data
2022-07-20 14:47:05 +08:00