The FairTorrent Project

 

Home

FairTorrent Project

Publication

FAQ

Code

The goal of the project is to design algorithms and systems that provide strong incentives for peers to contribute resources in P2P systems.

FairTorrent is a P2P file-sharing client, compatible with the BitTorrent protocol, that implements a new deficit-based algorithm for bandwidth exchange. This algorithm guarantees that in a FairTorrent network a peer's download rate from other peers converges very quickly and closely, to the total upload rate provided by the peer. Thus, users who are willing to upload at a higher rate are also guaranteed to download at a higher rate, with FairTorrent. Because FairTorrent rewards its neighboring peers fairly for their contribution, it is also resilient against strategic peers, such as free-riders, or users who cap their upload bandwidth at 0 or a very small value, as well as adoptive strategic peers such as BitTyrant. The paper below provides some experimental and analytical results. We evaluated FairTorrent against the original BitTorrent, Azureus, Proportional Response and BitTyrant clients, and showed that peer who are willing to contribute bandwidth in FairTorrent are rewarded with much higher download rates as compared to other clients. The evaluation includes static PlanetLab scenarios as well as live BitTorrent swarms.  The FAQ page provides some more answers as to how FairTorrent is able to achieve this performance.

Alex Sherman, Jason Nieh, and Clifford Stein, FairTorrent: Bringing Fairness to Peer-to-Peer Systems, Proceedings of the 5th ACM Conference on the emerging Networking Experiments and Technologies (CoNEXT 2009), Rome, Italy, December 1-4, 2009. (CoNEXT Slides for Mac: pptx, converted slides to windows: ppt)

We implemented FairTorrent inside both, the python BitTorrent code, as well as the Azureus 2.5 and 3.0. We plan to release the Azureus-based FairTorrent code and make it available on this page in short order, modulo some basic cleanup of the code. In the meantime, if you are interested in the code or have any additional questions regarding the project, please email Alex Sherman: asherman AT cs DOT columbia DOT edu.

 

This page was last updated on 12/24/09.