nimbus-eth2/beacon_chain/networking
Jacek Sieka f70ff38b53
enable `styleCheck:usages` (#3573)
Some upstream repos still need fixes, but this gets us close enough that
style hints can be enabled by default.

In general, "canonical" spellings are preferred even if they violate
nep-1 - this applies in particular to spec-related stuff like
`genesis_validators_root` which appears throughout the codebase.
2022-04-08 16:22:49 +00:00
..
README.md Reorg (5/5) (#2377) 2021-03-05 14:12:00 +01:00
eth2_discovery.nim remove TaintedString (#3546) 2022-03-24 21:44:34 +00:00
eth2_network.nim enable `styleCheck:usages` (#3573) 2022-04-08 16:22:49 +00:00
faststreams_backend.nim add support for `ResourceUnavailable` p2p error (#3476) 2022-03-09 14:03:58 +00:00
libp2p_json_serialization.nim enable `styleCheck:usages` (#3573) 2022-04-08 16:22:49 +00:00
libp2p_streams_backend.nim add support for `ResourceUnavailable` p2p error (#3476) 2022-03-09 14:03:58 +00:00
network_metadata.nim remove bundled pyrmont support (#3568) 2022-04-05 12:59:25 +00:00
peer_pool.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
peer_scores.nim Harden handling of unviable forks (#3312) 2022-01-26 13:20:08 +01: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