Commit Graph

106 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 18eb1fa334
Set `CAPELLA_FORK_EPOCH` to `194048` 2023-03-20 13:48:49 +08:00
Hsiao-Wei Wang c48012f674
Add EIP-6110 to README table 2023-03-16 08:34:44 +08:00
Hsiao-Wei Wang 95720872e6
Update README.md 2023-02-14 23:53:23 +08:00
Paul Harris 078e1cc871 fix references to eip4844 2023-02-08 09:22:28 +10:00
Paul Harris 317facbd64 Replaced EIP4844 references with Deneb
Fixes #3207
2023-01-23 15:08:34 +01:00
Etan Kissling 53a95f0007
Merge branch 'dev' into lc-eph 2023-01-10 13:43:15 +01:00
Hsiao-Wei Wang 5ff877cc26
Add link to docs lookup table 2023-01-04 18:24:19 +08:00
Etan Kissling 8ad6810a44
EIP4844 support (`excess_data_gas`), fork tests nyi 2022-12-12 13:11:49 +01:00
Etan Kissling d6da56cc19
Remove double mention of validator changes in readme 2022-12-12 12:37:57 +01:00
Etan Kissling 2df8a559b8
Fix LC references in main readme 2022-12-12 12:19:46 +01:00
Etan Kissling 2e97af2627
Add `ExecutionPayloadHeader` to LC data
While the light client sync protocol currently provides access to the
latest `BeaconBlockHeader`, obtaining the matching execution data needs
workarounds such as downloading the full block.

Having ready access to the EL state root simplifies use cases that need
a way to cross-check `eth_getProof` responses against LC data.

Access to `block_hash` unlocks scenarios where a CL light client drives
an EL without `engine_newPayload`. As of Altair, only the CL beacon
block root is available, but the EL block hash is needed for engine API.

Other fields in the `ExecutionPayloadHeader` such as `logs_bloom` may
allow light client applications to monitor blocks for local interest,
e.g. for transfers affecting a certain wallet. This enables to download
only the few relevant blocks instead of every single one.

A new `LightClientStore` is proposed into the Capella spec that may be
used to sync LC data that includes execution data. Existing pre-Capella
LC data will remain as is, but can be locally upgraded before feeding it
into the new `LightClientStore` so that light clients do not need to run
a potentially expensive fork transition at a specific time. This enables
the `LightClientStore` to be upgraded at a use case dependent timing at
any time before Capella hits. Smart contract and embedded deployments
benefit from reduced code size and do not need synchronization with the
beacon chain clock to perform the Capella fork.
2022-12-12 00:48:40 +01:00
Potuz b5a0ff07e0 Add link to Capella's P2P doc 2022-11-24 10:29:46 -03:00
Alex Stokes 8788472679
Update README.md 2022-11-02 13:26:59 -06:00
Manu NALEPA e453bfe018
README.md: Fix broken links 2022-10-29 20:15:24 +02:00
0xYYY cadb94aaaf Update Bellatrix fork epoch in README 2022-08-17 22:46:47 +08: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 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 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
Hsiao-Wei Wang 3d28b37831 Add `polynomial-commitments.md` to README 2022-07-19 08:10:25 -06:00
Etan Kissling 88206117c6
Extract full node specifics to separate doc 2022-07-15 13:37:27 +02:00
Etan Kissling d06f44ef55
Move `sync-protocol.md` into `light-client` subdir 2022-07-15 13:22:14 +02:00
Hsiao-Wei Wang dde1313a9d
Add Fork Epoch column 2022-06-06 16:03:46 +08:00
Hsiao-Wei Wang df1464728b
Remove fork version and previous fork. Add seq. 2022-06-02 22:14:39 +08:00
Hsiao-Wei Wang 986f7ee34c
Use table to list the specs. Add `Capella` and `EIP4844` to README 2022-06-01 02:41:18 +08:00
terence tsao 7e2461e805
Remove client setting 2022-01-11 20:34:06 -08:00
Paul Hauner fe605894e8
Update README.md 2022-01-10 17:07:13 +11:00
Hsiao-Wei Wang 3970fa7a75
PR feedback from @ralexstokes 2021-12-24 01:38:33 +08:00
Hsiao-Wei Wang 41af639517
PR feedback from @mkalinin 2021-12-23 17:26:48 +08:00
Hsiao-Wei Wang 8facc0a095
Merge -> Bellatrix 2021-12-23 14:25:43 +08:00
Paul Hauner da7b3cef8f
Add "P2P Networking" to "Merge" section 2021-09-28 09:15:59 +10:00
ethDreamer 1f486c1b32
fixed client-settings.md link 2021-09-15 18:47:44 -05:00
lsankar4033 49d225bb78 Add new --terminal-total-difficulty-override client_setting 2021-09-08 12:34:33 -07:00
Danny Ryan a542fd3a8a
modify README for consensus-specs renaming 2021-08-18 08:45:23 -06:00
Piotr Chromiec 1e484b8d98
README typo fix 2021-07-19 14:48:30 +02:00
vbuterin e8136cb62c
Update merge description to signal more progress 2021-06-22 18:15:56 -05:00
Mikhail Kalinin fd4369dc7c Add merge/fork.md with upgrade_to_merge definition 2021-05-31 19:30:54 +06:00
Danny Ryan 82b7a7be3b
Apply suggestions from code review
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
Co-authored-by: Jacek Sieka <jacek@status.im>
2021-05-12 08:29:42 -06:00
Danny Ryan 5792afca46
Merge branch 'dev' into bbr-ws 2021-05-11 09:51:57 -06:00
Danny Ryan eb9f7adaa7
add altair p2p to readme 2021-04-27 12:42:46 -06:00
Hsiao-Wei Wang 3391f991ac
Minor wording fixes 2021-03-30 13:48:40 +08:00
protolambda 9420c29899
custody game doc naming updates 2021-03-30 01:39:01 +02:00
protolambda 2bc3e814b0
rename to custody game 2021-03-27 01:58:39 +01:00
protolambda d067237e30
list new Merge specs, update features descriptions 2021-03-27 01:10:13 +01:00
protolambda 29f78a7f06
proof of custody full name 2021-03-27 00:53:25 +01:00
protolambda 306fc95c60
Update doc names and sharding readme section 2021-03-26 22:37:32 +01:00
Hsiao-Wei Wang b44e576e95
LIGHTCLIENT_PATCH/HF1 -> ALTAIR 2021-03-11 21:32:00 +08:00
Saulius Grigaitis 6a8cb48f49 Updated Sharding technical details link in readme. 2020-12-27 00:20:08 +02:00
multisignature cc80dd758c
Update README.md (#2164)
* Update README.md

I've removed an incorrectly placed comma.

Since the comma is placed before 'and', and the conjunction isn't being used to either a) denote the last element of a list with more than two elements or b) separate two independent clauses, it's not necessary here.

* Update validator.md

Fixed a couple of minor errors.
2020-12-26 14:53:42 +08:00
vbuterin aa16da1099
Updated readme (#2157) 2020-12-18 19:03:05 +08:00
Danny Ryan 17221c8065
more clearly define min epoch range for blocksbyrange requests 2020-12-09 12:27:01 -07:00