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
The AutoNAT service was written before libp2p had an event system and hasn't seen much love since. If we're going to rely on AutoNAT to reliably detect NATed nodes, we'll need to shore it up a bit:
Turn on a rate-limited AutoNAT service on all (DHT?) nodes by default. This is especially important for when we start persisting the routing table to disk and bootstrapping off that persisted routing table: we're unlikely to randomly run into an AutoNAT service node.
We should try to advertise fewer junk addresses, either by confirming our addresses with AutoNAT or some other means.
Testing mechanics
This will likely involve quite a bit of manual testing and testing on real NATs.
Success Criteria
AutoNAT is fast. That is, I can tell if I'm behind a nat within seconds of starting.
AutoNAT can't be used as a mild DoS service (can't be tricked into connecting to other IP addresses).
We can comfortably enable AutoNAT on all DHT servers without worrying about overloading them.
AutoNAT can reliably determine that a node is dialable (i.e., reduce false positive NATs).
Remaining work is primarily around minimizing 'bad addresses', and getting the autonat logic in sync with the ObservedAddressManager. That's tracked in #900
Design notes
The AutoNAT service was written before libp2p had an event system and hasn't seen much love since. If we're going to rely on AutoNAT to reliably detect NATed nodes, we'll need to shore it up a bit:
Testing mechanics
This will likely involve quite a bit of manual testing and testing on real NATs.
Success Criteria
TODO:
The text was updated successfully, but these errors were encountered: