Skip to content

Conversation

@LFRezende
Copy link

Motivation

Slotting the connections of the p2p network into types ( incoming, outgoing, discovered and check_peers) and set a limit for each, in order to avoid cross-flooding of features by malicious attackers, which may jam all types of connections by flooding one type.

Acceptance Criteria

The full node must accept at most N incoming connections.
The full node must open at most M outgoing connections to verified entry points.
The full node must keep at most P connections to discovered peers.
The full node must have slots available to check for untrusted entry points.
The full node must cycle through outgoing and incoming connections. (this one was demoted in a meeting, to be its own pr/rfc).

Checklist

  • Note: Solely a DRAFT, as there are still implementations to be done, mainly some refactorings. This is being pulled EXCLUSIVELY for draft revision, not yet to be merged for production.

@github-actions
Copy link

github-actions bot commented Mar 7, 2025

🐰 Bencher Report

Branchfeat/poc-connectionPoolSlots
Testbedubuntu-22.04
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
minutes (m)
(Result Δ%)
Lower Boundary
minutes (m)
(Limit %)
Upper Boundary
minutes (m)
(Limit %)
sync-v2 (up to 20000 blocks)📈 view plot
🚷 view threshold
1.70 m
(+4.09%)Baseline: 1.63 m
1.47 m
(86.46%)
1.80 m
(94.63%)
🐰 View full continuous benchmarking report in Bencher

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants