Traversing NAT’s remains a big issue in P2P networks, and many of the previously proposed solutions are incompatible with truly decentralised emerging applications. Such applications need a decentralised NAT traversal solution without trusted centralised servers.
In this paper we present a decentralised, relay-based NAT traversal system, where any reachable node is able to assist an unreachable node in NAT traversal. Smart contracts on the Ethereum blockchain are used to ensure fair rewards. Besides !nancial incentives, a reputation system based on transactions on-chain is used to mitigate against malicious behaviour, and guide peer discovery.
Evaluation of our system shows that a combination of historic performance metrics leads to an optimal scoring function, that the system takes little time to reach stability from inception, and that the system is resilient against various attacks. Implementation of the smart contract shows that the cost for participants is manageable.