Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/poc connection pool slots #1230

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open

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.

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.

1 participant