1. A method for creating an overlay network from a set of networked nodes, the method comprising: assigning each node a different name; assigning each node a different number, wherein each number is unique over the set of networked nodes and the distribution of numbers over nodes is probabilistically uniform; creating a routing table for each node, wherein each table includes two or more pointers, wherein each pointer points to a particular node that is a different number of positions offset from the current node when the set of networked nodes are ordered lexicographically by name.