I’ve just read “DHT-based NAT Traversal” by David Irvine of Maidsafe and done some research on other solutions out there such as Usurp, which is actually mentioned alongside Maidsafe SON here Usurp: Distributed NAT Traversal for Overlay Networks
It states here about Maidsafe SON “private nodes pick a rendezvous parent using bootstrap nodes from their own routing table dump on start-up, so there are no guarantees on whether a node can discover the rendezvous server responsible for a private node- false negatives are possible. Also, they do not separate NAT type identification from NAT traversal, so, similar to Interactive Connectivity Establishment (ICE), as nodes do not know each others NAT type, a connection request results in a node trying to connect using several mechanisms in parallel: direct connection, connection reversal, and hole-punching.”
Now I’m not aware if these issues have been addressed.
However my question more pertains to several interesting papers on newer peer sampling services such as Nylon, Croupier, or this Wormhole-Based PSS
The advantages of these systems is well encapsulated in the following:
“Despite much recent research on peer-to-peer (P2P) protocols for the Internet, there have been relatively few practical protocols designed to explicitly account for Network Address Translation gateways (NATs). Those P2P protocols that do handle NATs circumvent them using relaying and hole-punching techniques to route packets to nodes residing behind NATs. In this paper, we present Croupier, a peer sampling service (PSS) that provides uniform random samples of nodes in the presence of NATs in the network. It is the first NAT-aware PSS that works without the use of relaying or hole-punching. By removing the need for relaying and hole-punching, we decrease the complexity and overhead of our protocol as well as increase its robustness to churn and failure. We evaluated Croupier in simulation, and, in comparison with existing NAT-aware PSS’, our results show similar randomness properties, but improved robustness in the presence of both high percentages of nodes behind NATs and massive node failures. Croupier also has substantially lower protocol overhead.”
Is something like this possible in the Maidsafe Architecture?
Whether they’re the Usurp DHT-based, the Nylon RVP-based, or something more like Croupier or the Wormhole gossip protocols, it may be something to revisit.