Researchers Create Selfish BitTorrent Client 281
An anonymous reader writes "Researchers from the computer science department at the University of Washington have released BitTyrant, a new BitTorrent client that is designed to improve download performance via strategic selection of peers and upload rates. Their results call into question the effectiveness of BitTorrent's tit-for-tat reciprocation strategy which was designed to discourage selfish users. Clients are available for Windows, OS X, and Linux."
Comment removed (Score:5, Insightful)
Re:Well, uhm. Ban the client? (Score:3, Insightful)
Hi, I'm Bill Gates, and I'm going to give you ONE MILLION DOLLARS if you send your credit card info to me.
See the problem?
Re:Well, uhm. Ban the client? (Score:4, Insightful)
Not so selfish. (Score:5, Insightful)
Re:leechers (Score:1, Insightful)
Re:Trivial result (Score:5, Insightful)
They are looking at improving download time for that user and the overall swarm by the use of their algorithm.
The idea being that you share all the upload space you have - but you do it in such a way as to maximise what you can download in the same amount of time.
This in turn means that when you have finished downloading the file the number of copies within the swarm will have increased - also those that shared with you more will have been able to download quicker themselves.
A client like this will penalise selfish or greedy uploaders far more than the normal client as it rewards those that give back.
Give a leach a block and he will have downloaded that block, teach a leach to seed and he shall have blocks for the rest of his life.
Re:The trackers will not abide. (Score:5, Insightful)
The private tracker already gives you plenty of incentive to make sure your ratio is >1 - even asside from basic morals.
The design of this client means those with higher speed uploads available will complete sooner, and thus you will end up with more high speed seeders.
Seeders who since they are members of private trackers are probably going to stick around until ratio >1
True I admit on piblic trackers something like this may not be as helpful or beneficial, but you can't have everything.
Nothing to worry about here... (Score:5, Insightful)
In fact, I would say this is an IMPROVEMENT in some ways over bittorrent's default behavior, as it will dedicate more of your outgoing bandwidth to higher-speed peers. They, presumably, can then serve up more data to others than a low-speed peer reasonably could.
Instead of being the end of bittorrent, this could really improve the health of the P2P network, increasing speeds and decreasing download times for everyone (not only those using this program).
Re:leechers (Score:4, Insightful)
Re:Trivial result (Score:3, Insightful)
Something tells me that this guy is looking for karma instead of doing good research.
Re:Just great (Score:5, Insightful)
Re:Nothing to worry about here... (Score:2, Insightful)
Re:Nothing to worry about here... (Score:5, Insightful)
That's far too simple a way to look at it. The analogy just doesn't hold up.
It's giving less of an advantage to those with slow upload speeds (leeches), and high download speeds, but those with low speeds stand to benefit nearly as much as those with high-speed connections. It will take less time to have more full copies of a torrent shared, on higher speed hosts, with lots of bandwidth to spare.
The only senario in which the low-speed clients lose out, is at the very beginning, when only one peer has a full copy, and the high-speeds are actively sharing among each other and competing for access. After that inital rush, the low speed connections should have full-speed access, and more peers with full copies to chose from. The only way that wouldn't work is if ALL the high speed connections disconnect instantly afterwards.
It really should make bittorrent better all-around. The potential for abuse is only marginally higher. And the low-speed (leeches) only lose a little bit in certain senarios, but stand to gain even more in the end, bring them past the break-even point as well.
I'm seeing... (Score:2, Insightful)
Re:Emule / Edonkey has this (Score:2, Insightful)
The whole point to this BitTyrant is that they took this a step further and improved Azureus's algorithm for determining which peers to send to. For efficiency most p2p clients only let so many connections be actively sending data at a time. BitTyrant optimizes this by seeking out the peers who send back to you fastest and giving them preferential treatment. I assume they didn't get rid of the already existing algorithm where 1 of the send slots is considered to be a probe slot, basically giving a client some free data in hopes to prod it into sending some back. Then periodically it looks at all the peers it is sending to and drops the least performing upload slot to try probing another peer. BitTyrant basically researched and has been testing an improved methodology of choosing the peers for those upload slots, and metering how much data it sends to each of those peers also based on how much they've given to you.
It doesn't seem like a drastic change, but based on things I've witnessed in Azureus current behavior I see how it could improve things. I've had peers I'm getting a nice 100kb/s down from, but I'm not giving them much back because most of the bandwidth is going elsewhere. Because of that, I have an increased risk of losing that source. With BitTyrant, it might try and allocate more of my upload and possibly try and match that 100kb/s with 100kb/s of my upload to insure I keep that peer for as long as possible. Unless of course it finds peers that are offering up data even faster.
I guess in a way BitTyrant will benefit the haves over the haves not, but in this case its not who has data or not, but who has bandwidth or not. Those of us with more upload bandwidth stand to benefit more from BitTyrant. However its not like we're getting an advantage, the system is just being more fair. Right now those above the average upload speed of a swarm tend to have far higher up:down ratios than those below the median upload speed. Thus, they were being exploited in the current algorithms. Basically, someone with 200kb/s of upload will now have much closer to 2x the download speed as someone with 100kb/s of upload than previously. This has the end effect of giving people much more encouragement to not cap their upload to low rates as it will have more of an impact on their download speed when dealing with other BitTyrant clients.
Anyways, I think I've ranted enough and probably said the same thing 5 or 6 times now.