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

Implement different configurable neighbor strategies #5449

Open
CharlieC3 opened this issue Nov 11, 2024 · 0 comments
Open

Implement different configurable neighbor strategies #5449

CharlieC3 opened this issue Nov 11, 2024 · 0 comments

Comments

@CharlieC3
Copy link
Member

CharlieC3 commented Nov 11, 2024

Most of our internal/private stacks nodes have outbound neighbors reachable on a public IP range, and maybe only one or two in a private IP range.
So most of our stacks nodes are trying to communicate with nodes external to our cluster, rather than a balanced mix between public nodes and private nodes.

From the perspective of a public node, this may be problematic when a myriad of stacks nodes behind a NAT with a single IP are trying to stay connected to it, even if each node has a unique local peer seed/public key.
I’m guessing if this happens, then the private stacks nodes may lose their external neighbors and can fall behind.
This is exactly what I'm seeing happen for many private nodes from time to time.

Ideally there would be a way to configure this behavior. Node operators might want their node to favor different neighbor strategies depending on their infra setup.
For example, node operators might prefer to configure their private stacks nodes to favor private IP ranges while publicly accessible nodes like seeds favor external IP ranges.

The default strategy (favoring public IPs) could be how neighbors are selected today, while new strategies could be supported, such as balanced (closer to 50% public/ 50% private), favor_private, only_private, and only_public.

@github-project-automation github-project-automation bot moved this to Status: 🆕 New in Stacks Core Eng Nov 11, 2024
@CharlieC3 CharlieC3 changed the title Implement different configurable neighbor heuristics Implement different configurable neighbor strategies Nov 11, 2024
@saralab saralab added this to the Nakamoto-3.0.x milestone Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Status: 🆕 New
Development

No branches or pull requests

2 participants