In the last week, I started working on the last big missing infrastructure piece of the mesh networking peer-to-peer network. A way to send messages between may two nodes in the peer-to-peer network. Each node communicates with at most 20 neighboring nodes, this is useful to form a mesh, but it only gets interesting is you can route messages by hopping from node to node. Now, each node’s identifier is a long hash of the nodes public certificate.
A key question is how do your route over a peer-to-peer network a message from one node to another with only the hash of the source and target nodes. None of the nodes have a general routing table or a full view of the network topology. Still, we can route the message from hop-to-hop by, at each hop, reducing the “distance” between the message and its destination. The distance is measured not is physical or network distance, but in the difference between a node identifier and the target of the message. In any case, it works quite well.