sigp / lighthouse

Ethereum consensus client in Rust
https://lighthouse.sigmaprime.io/
Apache License 2.0
2.93k stars 745 forks source link

Weak subjectivity check improvements #2995

Open realbigsean opened 2 years ago

realbigsean commented 2 years ago

Description

Discussed with the Lodestar team some general places we can improve:

  1. Host this or something similar and publicize it: https://github.com/adiasg/eth2-ws-provider
  2. Include checkpoints in releases and require that we sync through them on any re-sync
  3. Check for freshness of the weak subjectivity checkpoint. This isn't required in the spec but is described. I think we could at least log it out. We're currently relying on any weak subjectivity checkpoint providers to provide us with fresh ones, which doesn't seem too unreasonable, since we are already trusting them to a degree.
  4. Optionally check a provided --wss-checkpoint during checkpoint sync (I don't think we do presently but I didn't looks super closely today). This would provide additional assurance that your trusted node is actually on what's deemed the canonical chain by subjective sources (etherscan? sigmaprime.io? twitter?).

Would love to hear more feedback about any of these.

paulhauner commented 2 years ago

Optionally check a provided --wss-checkpoint during checkpoint sync

I think we do this in https://github.com/sigp/lighthouse/blob/0177b9286edfdeb2782f74fc7fb1392b6459bfaa/beacon_node/beacon_chain/src/beacon_chain.rs#L2539-L2568.