-
Notifications
You must be signed in to change notification settings - Fork 1
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
Waku Peer and Connection Management #6
Comments
cc @alrevuelta |
Thanks for this great summary @jm-clius. With the goal of establishing a roadmap for peer and connection management, I think we can split the efforts into different verticals:
Said that I think we should establish a roadmap to focus on the most immediate needs, mostly implementation related that will allow waku to scale to a few hundred nodes without problems. Action item: I propose that each implementation lists their pain points related to peer and connection management, with ideas to improve it. I start with the
|
go-waku:
|
@richard-ramos Thanks! Adding some more points:
|
Closing this issue, as most of the peer management MVP work has been done and outstanding items are tracked in more specific sub-issues, such as #33. The latter tracks work necessary for the public Waku Network. |
Background
This forms part of a series of issues raised as output of the recent Status client offsite.
Proper peer and connection management is crucial to ensure reliable message delivery in a Waku network, due to nature of relay. A strong relayer network is the most basic underpinning of any Waku v2 network. All other Waku services builds on the assumption that the underlying message routing works well and is scalable. For example, each peer in the network must be able to establish and maintain at least six good connections to other peers. Read this summary for what would constitute a "good" connection.
Under peer and connection management I group the wide range of considerations that any successful p2p application must incorporate, e.g:
What has been done
Basic discovery, peer and connection management methods are in place in nwaku. Their is an ongoing effort to extend nwaku peer management according to principles established in similar p2p clients (e.g. nimbus, prysm, etc.)
Problem
Peer and connection management is often an environment-specific choice. Different clients and applications may have different approaches to discovering and maintaining healthy connections, persisting peers (if at all), reattempting connections, scoring peers, etc. However, since the Status application is built on a go-waku client and relies on a mostly nwaku-based infrastructure, it's important to evaluate how effectively the clients find and maintain enough healthy connections for a functioning mesh with reliable message delivery.
As part of the ongoing peer and connection management work in nwaku, some basic recommended principles will be extracted into a general RFC. This should be implemented in go-waku as a first step to improved peer management.
However, this task also extends to Status applications themselves being able to:
This issue tracks the overall effort to coordinate and improve peer and connection management across different clients.
The text was updated successfully, but these errors were encountered: