Neptune-Crypto / neptune-core

anonymous peer-to-peer cash
Apache License 2.0
23 stars 7 forks source link

Improved peer-discovery protocol #90

Open Sword-Smith opened 6 months ago

Sword-Smith commented 6 months ago

We can improve the peer-discovery protocol by allowing each client to share a list of IP addresses that they could be reachable on. Currently peer-discovery uses the IP address which the peers are connected from but this address is often an address that is behind an NAT.

See this discussion for more information. Specifically this part about how WebRTC handles peer-discovery:

As far as I know, at least some modern peer-discovery protocols (see e.g. WebRTC) have the client explicitly share all of its IP addresses with the discovery server – e.g. even if you connected via IPv4, the server (and other peers) also learn your IPv6 address, your other IPv4 addresses (internal, external, perhaps internal #2), etc.