nimbus-eth2/beacon_chain/networking
Jacek Sieka fc724b21e8
Tighten libp2p request quotas (#4254)
To further tighten Nimbus against spam, this PR introduces a global
quota for block requests (shared between peers) as well as a general
per-peer request limit that applies to all libp2p requests.

* apply request quota before decoding message
* for high-bandwidth requests (blocks), apply a shared global quota
which helps manage bandwidth for high-peer setups
* add metrics
2022-11-02 10:46:53 +00: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 Tighten libp2p request quotas (#4254) 2022-11-02 10:46:53 +00:00
libp2p_json_serialization.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
network_metadata.nim State-only checkpoint state startup (#4251) 2022-11-02 10:02:38 +00:00
peer_pool.nim compatibility with Nim 1.4+ (#3888) 2022-07-29 10:53:42 +00:00
peer_scores.nim update `PeerScore` comments for non-blocks (#4191) 2022-09-28 18:56:04 +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