nimbus-eth2/beacon_chain/networking
Etan Kissling 609227559f
LC data fork cleanup (#4506)
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.
2023-01-14 22:19:50 +01:00
..
README.md Reorg (5/5) (#2377) 2021-03-05 14:12:00 +01:00
eth2_discovery.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
eth2_network.nim LC data fork cleanup (#4506) 2023-01-14 22:19:50 +01:00
libp2p_json_serialization.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
network_metadata.nim Working Makefile targets for Capella devnet2 (#4494) 2023-01-13 12:21:58 +02:00
peer_pool.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
peer_scores.nim rename `PeerScoreXyzBlocks` -> `PeerScoreXyzValues` (#4318) 2022-11-11 11:34:28 +00:00
topic_params.nim reduce LC optsync latency (#4002) 2022-08-25 03:53:59 +00:00

README.md

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