Analyzing BitTorrent and related peer-to-peer networks

We analyze protocols for disseminating a collection of data blocks over a network of peers with a view towards Bit-Torrent and related peer-to-peer networks. Unlike previous work, we accurately model the distribution of the individual data blocks, a process which is critical to the parallelism that makes BitTorrent successful in practice. We also consider multiple network topologies and routing algorithms. We first demonstrate several routing algorithms that distribute <i>b</i> data blocks on a network with diameter <i>d</i> and maximum degree <i>D</i> in <i>O</i>(<i>D</i>(<i>b + d</i>)) phases of concurrent downloads with high probability. This is tight within a factor of <i>D</i>. We also specialize to the networks used by BitTorrent and we improve this bound to <i>O</i>(<i>b</i> ln <i>n</i>) phases where <i>n</i> is the number of clients. Finally, we discuss several practical extensions to BitTorrent, one of which improves the bound to a near-optimal <i>O</i> (<i>b</i> + (ln <i>n</i>)<sup><i>2</i></sup>) phases.