nimbus-eth2/beacon_chain/networking
Mamy Ratsimbazafy 6b13cdce36
Batch attestations (#2439)
* batch attestations

* Fixes (but now need to investigate the chronos 0 .. 4095 crash similar to https://github.com/status-im/nimbus-eth2/issues/1518

* Try to remove the processing loop to no avail :/

* batch aggregates

* use resultsBuffer size for triggering deadline schedule

* pass attestation pool tests

* Introduce async gossip validators. May fix the 4096 bug (reentrancy issue?) (similar to sync unknown blocks #1518)

* Put logging at debug level, add speed info

* remove unnecessary batch info when it is known to be one

* downgrade some logs to trace level

* better comments [skip ci]

* Address most review comments

* only use ref for async proc

* fix exceptions in eth2_network

* update async exceptions in gossip_validation

* eth2_network 2nd pass

* change to sleepAsync

* Update beacon_chain/gossip_processing/batch_validation.nim

Co-authored-by: Jacek Sieka <jacek@status.im>

Co-authored-by: Jacek Sieka <jacek@status.im>
2021-04-02 16:36:43 +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 Batch attestations (#2439) 2021-04-02 16:36:43 +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