Commit Graph

91 Commits

Author SHA1 Message Date
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
Danny Ryan 20a0ee1dc6
fix issue with discord link 2020-09-14 13:29:19 -06:00
Danny Ryan 585caa3dea
update discord invite to go directly to the "welcome" channel 2020-08-17 18:44:03 -06:00
terence tsao 1d2a47566c
Update sharding FAQs link 2020-07-23 16:35:21 -07:00
Hsiao-Wei Wang c8b13c320c
Add release & pypi badges 2020-05-06 18:03:48 +08:00
Hsiao-Wei Wang f60f8ca332
Fix README spec links 2020-05-06 02:10:43 +08:00
terence tsao 3cc1fb9017
Remove `/` 2020-04-27 14:34:50 -07:00
Danny Ryan a49fc814eb
change 'gasper' to 'combining ghost and casper' for paper description 2020-03-11 14:52:31 -06:00
Herman Junge c5aca062b4
Update reference to Gasper paper 2020-03-09 17:16:02 +00:00
ethers dc72861136
add Gasper paper 2020-02-17 00:14:07 +00:00
protolambda 4732c7beb1
merge in dev (v0.10) and fix reorg/lint issues 2020-01-13 18:55:21 +01:00
Danny Ryan 676e216beb
reorg specs by fork and move ssz out to own folder. make all of the build and link changes to support move 2020-01-10 11:55:13 -07:00
protolambda 4c9e5b8950
add link to phase1 upgrade doc 2019-12-05 13:29:51 -07:00
protolambda 465f6cb7f0
update readme spec links 2019-12-05 13:29:50 -07:00
Diederik Loerakker b15669b7a5 Backport master (v0.9.1) to dev (#1482)
* p2p-interface: clarify that signing_root is used for block requests

* hash cleanups

* one more hash tree root gone for blocks - block hashes are always
signing roots!
* use simple serialize data types consistently

* Describe which finalized root/epoch to use

* remove custody_bits from attestation

* remove AttestationDataAndCustodyBit

* Specify inclusive range for genesis deposits

* add initial fork choice bounce prevention and tests

* PR feedback

* further test bounce attack

* wipe queued justified after epoch transition

* remove extra var

* minor fmt

* only allow attestatiosn to be considered from current and previous epoch

* use best_justified_checkpoint instead of queued_justified_checkpoints

* use helper for slots since epoch start

* be explicit about use of genesis epoch for previous epoch in fork choice on_block

* pr feedback

* add note aboutgenesis attestations

* cleanup get_eth1_vote

* make eth1_follow_distance clearer

* Update the expected proposer period

Since `SECONDS_PER_SLOT` is now `12`

* minor fix to comment in mainnet config

* Update 0_beacon-chain.md
2019-11-15 16:27:04 -05:00
Danny Ryan 43132a3082
[reopen] Eth2 shorthand standardized (#1452)
* Update README.md

* Update README.md

* Update p2p-interface.md

* Update simple-serialize.md

* Update README.md

* Update initialization.md

* Update README.md

* Update 0_beacon-chain-validator.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2019-10-28 15:53:10 +08:00