-
Notifications
You must be signed in to change notification settings - Fork 4
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
Peer Exchange Protocol #7
Comments
This seems similar to the rendezvous protocol (https://github.com/libp2p/specs/tree/master/rendezvous and libp2p/go-libp2p-rendezvous#1). A few clarifying questions about peer exchange and rendezvous:
If we were to implement such a proposal do you have any thoughts on whether we should blindly trust peers to relay the services of other peers, or if they should be relaying signed records detailing the provided services? |
I'm proposing a complementary service with different pros/cons.
Absolutely signed records (we should be doing the same for content routing). The randezvous servers should have signed records as well. However, we may need to mandate ed25519 to get signature sizes down. (however, I'd be fine with a first version that doesn't sign anything as this won't be making anything worse than it is) |
Is there a prototype implementation of this already? Or some further design considerations? I see that a peer exchange protocol is now part of the roadmap but there the focus seems to be local networks only? We, over at @celestiaorg are considering implementing a pex ontop of libp2p as well. There is also the idea to extract the pex mechanism that is used inside of gossipssub (as part of the v1.1 extensions) but I'm not really convinced this would be a good idea. Is there a way to be involved in the pex efforts? |
I think this is also important for the IoT part of the roadmap. Do you have a working RPC call? Or is your implamenation using pex as a side-channel?
|
I've started a new discussion that is related to this: libp2p/specs#587 |
Not to be confused with #3.
We should have a global peer exchange protocol for exchanging information on peers wiling to perform some service and/or speak some protocol. This would implement the discovery (https://github.com/libp2p/go-libp2p-discovery/) interface and could be run in parallel to a dht-based discovery service to widen a search.
Basic protocol proposal:
The text was updated successfully, but these errors were encountered: