Search Slyck  
BitTyrant - The Selfish BitTorrent Client
January 4, 2007
Thomas Mennecke
Font Bigger Font Smaller
BitTorrent is far from perfect. Download speeds can be dirt slow, files are sometimes unavailable, and often times this community is the last place to look for on demand entertainment. To supplement these shortcomings, many file hungry netizens find themselves spending upwards of $20 a month for Usenet access. Paradoxically, those accused of ‘stealing’ content likely spend considerably more than the average iTunes user for entertainment– albeit from unauthorized sources.

The growing popularity of Usenet – or the newsgroups – represents a technological quantum leap backwards when compared to the sophistication of BitTorrent. Unlike BitTorrent, which blurs the lines of Internet elitism, Usenet is the exact opposite. Usenet is composed of hierarchies – both literal and figurative. Each Usenet user fills a specific role – those who download content and the providers who post the material.

That’s the way Usenet distribution has worked since day one and everyone leaves at the end of the day happy. Downloaders are not expected to post material, nor are they encouraged to. Although seemingly easy, posting material to the newsgroups is done by the Usenet equivalent of a professional, who intimately knows the nuances of doing the job right.

With this system, most Usenet users download at maximum bandwidth. There’s no appreciable upload bandwidth to be concerned about, no swarming, no sharing – just pure, unadulterated downloading. If the end user wants to download a file immediately – there’s no other place, not even BitTorrent, that can provide that kind of demand.

BitTorrent is an entirely different system. In the BitTorrent universe, all users act as part of a swarm. In other words, as the end user downloads a file, the client is immediately forced to upload as well. The BitTorrent protocol enforces this with the use of ratios. The more an individual uploads, the better the download performance. This works very well for the higher bandwidth capacity portion of the BitTorrent community; however those with limited upload speed often feel very differently. A maxed upload often leads to miserable performance, not only for obtaining files but general Internet use as well.

To circumvent this sometimes timely and annoying situation, a series of inventive and sometimes ingenious ‘spoofing’ techniques have appeared. Although there are a variety of techniques, the bottom line is to fool the BitTorrent community into believing the client has uploaded far more than in actuality – thereby increasing download performance.

No one likes a cheater though, not even the evil-doers that occupy the file-sharing landscape. Yet the situation does reflect a serious problem within the BitTorrent community, and one that has yet to be satisfactorily dealt with. However, the folks over at the University of Washington think they may be onto a potential solution.

The ‘solution’ is a BitTorrent client named BitTyrant, a ‘selfish’ application based on the open source Azureus client. Far from an end-all solution, it provides an interesting alternative to the current one size fits all ration structure.

“BitTyrant differs from existing clients in its selection of which peers to unchoke and send rates to unchoked peers,” BitTyrant’s FAQ states. “Suppose your upload capacity is 50 KBps. If you’ve unchoked 5 peers, existing clients will send each peer 10 KBps, independent of the rate each is sending to you. In contrast, BitTyrant will rank all peers by their receive / sent ratios, preferentially unchoking those peers with high ratios. For example, a peer sending data to you at 20 KBps and receiving data from you at 10 KBps will have a ratio of 2, and would be unchoked before unchoking someone uploading at 10 KBps (ratio 1). Further, BitTyrant dynamically adjusts its send rate, giving more data to peers that can and do upload quickly and reducing send rates to others.”

Say what? After skimming through the FAQ and the lengthy academic paper, many BitTorrent users may exclaim, “It’s just another cheat client! Ban it!” Just one second though...

BitTyrant doesn’t quite deserve such immediate belittlement. In fact, it should be commended for at least attempting to explain and remedy ratio problems for low capacity clients. Additionally, there is no cheating or falsification with the BitTyrant client – nor does it aim to lessen one’s upload bandwidth in exchange for massive download consumption.

OMG Slyck, isn’t BitTyrant just another leech client? The FAQ even says “adjusts its send rate!!11111"

It does say that, but there’s a whole lot more going on here. Most efforts which aim to cheat BitTorrent do so with very little technical, theoretical or practical back up. The folks at BitTyrant could have easily just have started “”, thrown some Google ads up, spammed some forums and called it a day. But it’s important to note how this academic effort separates itself from just another BitTorrent hack.

The effort behind BitTyrant is not to defeat or throttle uploading. In fact, it contributes to the swarm like any good BitTorrent client does. Rather, its purpose is to enhance the downloading performance of the average client.

U know that’s not possible! Ban it!

And what purpose would banning an academically oriented BitTorrent client serve? Remember, BitTyrant is an experiment – not some commercial venture. Much like any file-sharing network, there are givers and leechers. A majority are leechers – even in BitTorrent – who simply stay on long enough to get what they want and then vanish. The “altruists” or the givers, make up the smaller percentage of a typical P2P network. Being the “selfish” BitTorrent client that BitTyrant self-proclaims, it works by exploiting this vast generosity.

BitTyrant looks for two things, a favorable ratio and a high upload capacity client. BitTyrant tries to mitigate the sometimes very time consuming and performance degrading situation of spending hours uploading, while receiving very little in return. Simplistically, BitTyrant looks for the best performing peers and deprioritizes those clients that would otherwise yield poor performance.

BitTyrant is already off to a rough start, having already been banned by two indexing sites. The creators already admit that a BitTorrent community filled with BitTyrant would probably degrade the network – however this is a research application and this scenario is nearly impossible. For research and academic purposes, BitTyrant brings a breath of fresh air into an old debate long swept under the rug.

This story is filed in these Slyck News categories
BitTorrent :: BitTorrent Clients

You can discuss this article here - 38 replies

© 2001-2019