You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Each PONG message contains an external IP address that the sender is claiming is our external IP.
This information can be used in combination with some basic heuristics to identify our external ip address.
How can it be fixed?
We will have to use a heuristic since 1) this information is unverifiable and 2) different peers might have a different view of what our IP address might be.
We should aggregate votes for this in a simple service that listens to all the incoming PONG messages. This service will benefit from having contextual information about the peer connections such as whether they were dial-out or dial-in, whether they are trusted such as bootnode addresses.
Likely only viable once our view of the network contains a sufficiently large number of peers.
The text was updated successfully, but these errors were encountered:
@lithp I think this might be a decent next issue to get worked on.
I think this needs to fit into a larger framework of how we decide on what external IP address to populate our ENR record with. I think we have the following sources for IP addresses.
returned by UPnP during port mapping
Inspecting networking devices via netifaces library (used in the upnp library)
specified via CLI --listen-address
Pong messages
I think the priority order for these should be:
--listen-address trumps all
UPnP
Pong messages
netifaces data (pulling IP from networking devices)
This also needs to be generic enough to work with both v5 and v5.1.
What was wrong?
Each
PONG
message contains an external IP address that the sender is claiming is our external IP.This information can be used in combination with some basic heuristics to identify our external ip address.
How can it be fixed?
We will have to use a heuristic since 1) this information is unverifiable and 2) different peers might have a different view of what our IP address might be.
We should aggregate votes for this in a simple service that listens to all the incoming
PONG
messages. This service will benefit from having contextual information about the peer connections such as whether they were dial-out or dial-in, whether they are trusted such as bootnode addresses.Likely only viable once our view of the network contains a sufficiently large number of peers.
The text was updated successfully, but these errors were encountered: