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

P2P client fixes to allow for N shard clients from a single machine #1162

Merged
merged 3 commits into from
Sep 28, 2023

Conversation

wizeguyy
Copy link
Member

@wizeguyy wizeguyy commented Sep 25, 2023

Resolves #1160
Resolves #1161

tl;dr:
Previously, bootnodes would generate 13 clients with the same nodekey. This would confuse P2P routing tables. Now each client derives a unique key.

Previously Kademlia would only allow 2 peers in a bucket and 10 peers in the table from the same IP address. This quickly gets overwhelmed, since each full node runs 13 P2P clients behind the same IP address. A better long-term solution would be to proxy client connections through a single connection.

@wizeguyy wizeguyy added the bug Something isn't working label Sep 25, 2023
@wizeguyy wizeguyy added this to the Iron Age milestone Sep 25, 2023
@wizeguyy wizeguyy self-assigned this Sep 25, 2023
Djadih
Djadih previously approved these changes Sep 25, 2023
p2p/discover/table.go Outdated Show resolved Hide resolved
Djadih
Djadih previously approved these changes Sep 26, 2023
@wizeguyy wizeguyy force-pushed the unique-enodes branch 3 times, most recently from db19279 to ff95b95 Compare September 27, 2023 21:29
kiltsonfire
kiltsonfire previously approved these changes Sep 27, 2023
@gameofpointers gameofpointers merged commit 4c9c5a8 into dominant-strategies:v0.18 Sep 28, 2023
1 check passed
@wizeguyy wizeguyy deleted the unique-enodes branch September 28, 2023 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants