Skip to content

Address Resolution Key

Stephen Oliver edited this page Aug 13, 2016 · 1 revision

Address Resolution Keys (ARKs) are a way to help people connect to Freenet if they have problems caused by firewalls, routers or changing IP addresses. If someone cannot accept incoming traffic it can make it difficult to connect. ARKs are an implementation detail and you don't need to know anything about them to use Freenet.

Technical details

An Address Resolution Key (ARK) is an Updatable Subspace Key (USK) inserted by the node whenever its IP address changes. It contains the reference for the node - its cryptographic details, and in particular its IP addresses.

When a node's IP address changes, it may lose connection to several of its neighbors, because of UDP hole punching (UDP hole punching only works when both sides know the other's IP address). However, it inserts its ARK through the one or two nodes which do still work for it, and when those peers realize that they can no longer connect to it, they fetch the ARK. If the fetch succeeds, they use the new reference, and connect to the node. This serves the function of a trusted third party in classic UDP hole punching (traditional P2P would use a central server to tell clients the current IP of their neighbors).

Clone this wiki locally