Thu

Jan 4
2007

Brady Forrest

Brady Forrest

BitTyrant: Selfishness Comes To BitTorrent

bittyrant.jpg
One of the key tenants of BitTorrent is that you have to contribute (upload) to receive (download). BitTyrant is a new client that finds a way to be selfish within the BT protocols by selectively uploading to peers based on their upload capacity. It was created by researchers to test the robustness of BT's incentives. From their site:


BitTyrant is a new, protocol compatible BitTorrent client that is optimized for fast download performance. BitTyrant is...
* Fast - During evaluation testing on more than 100 real BitTorrent swarms, BitTyrant provided an average 70% download performance increase when compared to the existing Azureus 2.5 implementation, with some downloads finishing more than three times as quickly.
* Fair - BitTorrent was designed with incentives in mind: if a user is downloading at 30 KBps, they should upload at 30 KBps. However, due to the unique workload properties of many real-world swarms, this is not always enforced. BitTyrant is designed to make efficient use of your scarce upload bandwidth, rewarding those users whose upload allocations are fair and only allocating excess capacity to other users.
* Familiar - BitTyrant is based on modifications to Azureus 2.5, currently the most popular BitTorrent client. All of our changes are under the hood. You’ll find the GUI identical to Azureus, with optional additions to display statistics relevant to BitTyrant’s operation.

If you use this, then you will get a faster download. If someoneelse in a swarm uses this then you will get a slower download. If everyone in a swarm uses it then everyone gets decreased performance. Doesn't sound like a pretty picture to me. Will this spark a BT client arms race where suddenly every client has a "selfish" mode? Will this cause a change in the way companies choose to use BT?

Update: I want give props where props are due. I learned about BitTyrant via TorrentFreak.

Update 2: MonkeyBites has a well-done post discussing BitTyrant and BitThief. BitThief is a nasty piece of software that makes pretend it is a new client and never uploads anything. It is leech only. Torrentfreak has the numbers on how this turns out to not be as effective as one might suppose at first blush.


tags: web 2.0  | comments: 8   | Sphere It
submit:

 
Previous  |  Next

0 TrackBacks

TrackBack URL for this entry: http://blogs.oreilly.com/cgi-bin/mt/mt-t.cgi/5138

Comments: 8

  dbt [01.04.07 02:03 PM]

To be fair, that's not a conclusion that's borne out by the data. This penalizes leechers and seems to me like it would increase the saturation of seeders with faster bandwidth, increasing the overall speed of the stream.

  dbt [01.04.07 02:06 PM]

er, s/stream./swarm./

  Henrik [01.04.07 04:33 PM]

A client should be expected to exploit the network as much as possible. It is up to the network to enforce whatever is considered fair. It doesn't sound terrible to me.

  Sencer [01.05.07 02:15 AM]

> If everyone in a swarm uses it then everyone gets
> decreased performance.

No, I don't think so. Straight from their FAQ:
> However, our current BitTyrant implementation
> always contributes excess capacity, even when it
> might not improve performance. Our goal is to
> improve performance, not minimize upload
> contribution.

AFAI understand it, the client is selective about about how it distributes upload capacity, but it doesn't reduce overall upload. If people seed until they reach a certain share-ratio always, it's not going to make much of a difference. If however people stop the torrent as soon as they have the file, then yes, letting the user finish the file earlier will reduce overall upload.

  StuartA [01.05.07 05:39 AM]

Actually it could INCREASE overall speeds, as it will allow those clients with a fast upload to get the complete file faster - thus ensuring that there are *seeders* with fast upload sppeds more quickly, which has to be a good thinge

  Næko [01.11.07 01:27 AM]

Bitty is WORSE for the overall torrent's users. It creates uneven sharing of seeders because over time, the Bitty users will have all their up/down slots fastened onto the best uploaders. That also uses a slot on the uploader, thus denying to the rest of the torrent's users.

It basically creates a have vs have-not situation where one did not exist before. If the "haves" then hit-and-run the torrent, that will exacerbate the problem further.

  Gordon [01.13.07 10:33 AM]

So, You have read the paper and tried BitTyrant ?
"uneven sharing" ?? as opposed to today where
any upload-throttling BitComet user can sit on new
pieces that they "distribute" @ 2KB/s ?

what you seem to be missing is that this client
respects the bit-torrent protocol that already
favours those who have over those that don't, and is SUPPOSED to enforce a 1:1 ratio (you are supposed to get the same as you upload ). That is clearly not the case at the moment. people with 25KB/s uploads are consistently allowed to download at rates that are 16X greater than their upload.
please tell me how that helps efficient distribution ?

  david [07.14.07 03:35 AM]

What about those us like me that don't have a whole lot of upload BW available? I leave my client online 25x7 and eventually upload all downloads to at least 3x. But, this approach makes me wait and wait and wait for my downloads to complete. I especially hate hosts that give me plenty of BW until there's only a few % left then leave me hanging until I reach 1:1. Unfortunately, there is no way for a host to remember me (or anyone) since our URLs change every few days...

Post A Comment:

 (please be patient, comments may take awhile to post)






Type the characters you see in the picture above.

RECOMMENDED FOR YOU

RECENT COMMENTS