js-waku
js-waku copied to clipboard
Support peer exchange (gossipsub)
Description
Peer exchange tl;dr: remote node include alternative peer when sending a PRUNE
message as part of gossip sub mesh maintenance.
While it does not make sense for js-waku to includes peers in outgoing PRUNE
messages, it would be beneficial for js-waku to decode and remember peers received from PRUNE
messages and possibly connect to them.
Definition of Done
Ensure that js-waku accepts alternative peer in PRUNE
messages.
Review connection management and handle those peer and connect to them if the number of connected peer is below a configurable threshold.
Best to wait for nim-waku implementation first.
@jm-clius is gossip sub peer exchange support in nwaku?
@kaiserd @jm-clius do we want to pursue this route or should I focus on https://rfc.vac.dev/spec/34/ first/instead?
@jm-clius is gossip sub peer exchange support in nwaku?
@kaiserd @jm-clius do we want to pursue this route or should I focus on https://rfc.vac.dev/spec/34/ first/instead?
nwaku does support gossipsub peer exchange, but it's disabled by default.
Note that due to the significant security risks associated with GossipSub PX I'd suggest rather going with RFC34 cc @kaiserd
Agree with @jm-clius PX also has anonymity problems as listed in the RFC, but this is more explicit because nodes opt in to use PX, whereas gossipsub peer exchange happens on prune. We also plan to improve anonymity properties of PX in the future.
In icebox as per comments above.