nimbus-eth2/beacon_chain/networking
Jacek Sieka 7dba1b37dd
remove attestation/aggregate queue (#2519)
With the introduction of batching and lazy attestation aggregation, it
no longer makes sense to enqueue attestations between the signature
check and adding them to the attestation pool - this only takes up
valuable CPU without any real benefit.

* add successfully validated attestations to attestion pool directly
* avoid copying participant list around for single-vote attestations,
pass single validator index instead
* release decompressed gossip memory earlier, specially during async
message validation
* use cooked signatures in a few more places to avoid reloads and errors
* remove some Defect-raising versions of signature-loading
* release decompressed data memory before validating message
2021-04-26 22:39:44 +02:00
..
README.md Reorg (5/5) (#2377) 2021-03-05 14:12:00 +01:00
eth2_discovery.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
eth2_network.nim remove attestation/aggregate queue (#2519) 2021-04-26 22:39:44 +02:00
faststreams_backend.nim Reorg (5/5) (#2377) 2021-03-05 14:12:00 +01:00
libp2p_json_serialization.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
libp2p_streams_backend.nim Reorg (5/5) (#2377) 2021-03-05 14:12:00 +01:00
network_metadata.nim json cleanups (#2456) 2021-03-26 15:11:06 +01:00
peer_pool.nim EH cleanup (#2455) 2021-03-26 07:52:01 +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