What is BitThief?

BitThief is an ongoing research project of the Distributed Computing Group at ETH Zurich. In this project we study selfish behavior in distributed systems, and in particular in peer-to-peer filesharing systems. The lack of incentives to contribute resources potentially results in a total collapse of a peer-to-peer system, implying that it is essential for a completely decentralized system to incorporate protocols that ensure a fair sharing of resources.

How does it work?

BitThief is a free riding BitTorrent client, that is, it downloads from BitTorrent swarms without contributing any resources itself. As such it proved that the BitTorrent protocol fails to prevent uncooperative behavior as it does not provide any countermeasures against free riding clients. For details, please read our HotNets 2006 research paper.

We argue that the BitTorrent protocol must be modified in order to effectively prevent selfishness. We have designed a tit-for-tat (T4T) protocol that achieves this goal. BitThief clients can use the T4T protocol to fairly exchange data between themselves. For details, please read our P2P 2007 research paper, and our Infocom 2011 research paper.

Where can I get it?

BitThief is freely available. We encourage you to download and use it. As it is a scientific project, we require measurements of the performance of our exploits. For that purpose, the client occasionally transmits data to our webserver. The transmitted data merely contains information about the time required to download files of different size. In particular, only a hash of the info hash is transmitted, which means that it is not feasible to determine what has actually been downloaded. However, we advise you not to download any copyrighted material.

Update: Due to popular request the “call home” functionality has been removed.

Usage guidelines for ETH employees and ETH students