BitTyrant questions assumptions about BitTorrent

78

Author: Nathan Willis

Conventional wisdom says that BitTorrent achieves superior download performance over competing peer-to-peer (P2P) systems because the protocol discourages those who download without uploading in turn, creating an environment where all participants act fairly. A University of Washington (UW) research paper says otherwise, and its authors have a BitTorrent client to prove it.

The theory around BitTorrent is that all peers upload as well as download, in roughly equal amounts. The more upload capacity you contribute, the more download capacity you enjoy, in effect leveling the playing field for folks on high-speed and slow-speed connections.

The UW researchers studied real-world BitTorrent swarms, and found the field anything but level. Peers on high-speed connections contribute considerably more than they receive. And we are not talking about generosity of spirit or continuing to seed a torrent after the download has completed; the study shows that — using typical client settings — faster peers do not download data as fast as they upload it.

The researchers believe this is due to the way clients select which peers to pair with. The popular clients periodically try connecting to new peers in the swarm in random fashion. That is good, because it helps the clients maintain a fresh picture of the swarm. But it also means that the faster a particular client’s pipe is, the longer it will take the client to randomly stumble upon enough other fast peers to give them a download speed equal to their upload speed.

By modifying the popular GPLed client Azureus, the authors of the study created a BitTorrent client named BitTyrant. BitTyrant tries to choose peers intelligently instead of randomly, favoring those that are already operating at an upload/download equilibrium and attempting to maintain connections with active peers.

The exact method BitTyrant uses to predict which peers to pair with is complicated, given the vast array of settings and options available in a BitTorrent client. But according to the paper, it makes a huge difference: BitTyrant on a fast connection reaches upload/download equilibrium much faster, resulting in shorter download times.

Ethics and fair play

One question the software raises is whether BitTyrant’s selectivity amounts to unethical behavior. In the strictest sense, it cannot be lumped together with malware programs that plague P2P networks: it does not lie about its upload capacity to gain preferential treatment or in any other way cheat the protocol; it just chooses peers in a different manner.

Nevertheless, it has been described as a “selfish” client, leading some bloggers to denounce it in terms usually reserved for malicious hacks and hostile attacks. By not treating all members of the swarm equally, BitTyrant does offer personal gain at the expense of others.

But wait, says the UW team, the study data shows that without BitTyrant, high-speed users are the ones getting the unfair treatment. So you can’t just say “we should ban BitTyrant because it behaves unfairly.”

The team’s research paper outlines several scenarios in which the presence of a BitTyrant client can degrade the performance for other peers in a swarm, but it is far from conclusive proof that BitTyrant is bad news for BitTorrent fans. Fast users benefit from BitTyrant, but so do slow users. BitTyrant users benefit from the presence of other BitTyrant users. How much you benefit depends on how many torrents you are downloading simultaneously, and how you tweak the settings for each torrent. There are so many adjustable parameters in a BitTorrent client and so many variables in daily usage that you cannot generalize.

On the other hand, the authors of the paper conclude that — in contrast to the conventional wisdom — BitTorrent is not an egalitarian system. The unfairness is already there. Making minor changes to a client’s behavior can easily shift that unfairness around. Thus, although BitTyrant is not a malicious attempt to attack it, the BitTorrent model is already vulnerable.

Write for us – and get paid!