Kademlia is currently the most widely used searching algorithm in P2P
(peer-to-peer) networks. This work studies an essential question about Kademlia
from a mathematical perspective: how long does it take to locate a node in the
network? To answer it, we introduce a random graph K and study how many steps
are needed to locate a given vertex in K using Kademlia's algorithm, which we
call the routing time. Two slightly different versions of K are studied. In the
first one, vertices of K are labelled with fixed IDs. In the second one,
vertices are assumed to have randomly selected IDs. In both cases, we show that
the routing time is about c*log(n), where n is the number of nodes in the
network and c is an explicitly described constant.Comment: ISAAC 201