mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-01-24 21:40:03 +00:00
609227559f
Distinguish between those code locations that need to be updated on each light client data format change, and those others that should generally be fine, as long as a valid light client object is processed. The former are tagged with static assert for `LightClientDataFork.high`. The latter are changed to `lcDataFork > LightClientDataFork.None` to indicate that they depend only on presence of any valid object. Also bundled a few minor cleanups and fixes. Also add `Forky` type for `LightClientStore` and minor fixes / cleanups.
Networking
This folders hold a collection of modules to:
- configure the Eth2 P2P network
- discover, connect, and maintain quality Eth2 peers
Data received is handed other to the ../gossip_processing
modules for validation.
Security concerns
- Collusion: part of the peer selection must be kept random. This avoids peers bringing all their friends and colluding against a beacon node.
- Denial-of-service: The beacon node must provide ways to handle burst of data that may come:
- from malicious nodes trying to DOS us
- from long periods of non-finality, creating lots of forks, attestations, forks