Slashdot Log In
Researchers Create Selfish BitTorrent Client
Posted by
CmdrTaco
on Wed Jan 03, 2007 10:43 AM
from the surprised-it-took-this-long dept.
from the surprised-it-took-this-long dept.
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."
This discussion has been archived.
No new comments can be posted.
Researchers Create Selfish BitTorrent Client
|
Log In/Create an Account
| Top
| 281 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
In other news... (Score:5, Funny)
internet bandwidth usage has just gone up by 300% at the University of Washington... Scientists are baffled and blame global warming.
Not really selfish (Score:5, Informative)
(http://www.sdonag.plus.com/ | Last Journal: Wednesday June 07 2006, @04:05AM)
Re:Not really selfish (Score:5, Interesting)
I disagree to an extent. What is high upload/download speed to one node is not neccessarily high upload/download speed to another node. It just depends on the network topography. It's possible for a DSL-connected node to have a faster upload/download connection to a node on a dial-up line than a T3 if the dial-up connection is significantly closer from a network standpoint. If done properly, prioritizing based on uploads could lead to more regionalized torrent relationships. Such a setup still has its downsides but I'm not convinced it's worse or even unfair.
Just great (Score:1, Informative)
Re:Just great (Score:5, Insightful)
(http://slashdot.org/)
leechers (Score:2)
Re:leechers (Score:4, Insightful)
Re:leechers (Score:5, Interesting)
Re:leechers (Score:4, Interesting)
(Last Journal: Wednesday October 05 2005, @10:39AM)
Sounds interesting (Score:2)
The only possible downside of the client is that people who regularly hit and run will be doign so that much faster (and thus end with an even lower ratio).
so, a nifty tool in the hands of the godly, and an abomination in the hands of sinners. (or somethign to that effect)
The trackers will not abide. (Score:2)
(http://robvincent.net/ | Last Journal: Tuesday October 09, @01:55PM)
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.
Rule #1 (Score:1, Informative)
I'm surprised it took this long.
Ummm... it doesn't? (Score:5, Informative)
(http://www.cyberarmy.net/ | Last Journal: Tuesday February 13 2007, @01:10AM)
Not necessarily good (Score:5, Interesting)
Re:Not necessarily good (Score:5, Interesting)
(http://www.weigel-mohamed.org/ | Last Journal: Sunday August 13 2006, @09:36PM)
Interestingly, if bittorrent clients start "cheating", ISPs will be happier, and you will see less throttling.
Ratboy
Altruistic Client instead, please? (Score:1)
(http://damac.us/)
Make my client have the ability to seed more proactively and I'll be happy.
Not so selfish. (Score:5, Insightful)
(http://ckdake.com/)
Surprised It Took This Long (Score:2)
(http://inglorion.net/ | Last Journal: Thursday October 06 2005, @07:17AM)
By the way, am I right in thinking good behavior can never be enforced in peer to peer systems?
Even better...downloading without ever uploading (Score:5, Interesting)
Re:Even better...downloading without ever uploadin (Score:5, Funny)
Nothing to worry about here... (Score:5, Insightful)
(Last Journal: Monday October 15, @11:53PM)
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:Nothing to worry about here... (Score:5, Insightful)
(Last Journal: Monday October 15, @11:53PM)
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.
A welcome feature (Score:2)
(http://www.kibbee.ca/)
Try to give it a spin (Score:5, Funny)
Ironically enough (Score:2)
Yall quit whining (Score:2)
(http://www.outpimp.com/?x=481655731 | Last Journal: Thursday December 08 2005, @12:13PM)
This does seem to go up and down more than bitcomet though. in the last Hour I've seen it up to 110/115 and as low as 50k/60k. Maybe this one just averages the xfer rate a lot more often, not producing nearly as smooth of an average as BC.
not so selfish (Score:1, Informative)
My configuration was 1000kB/sec upload, the highest allowed by the setup wizard. I'm on a 100Mb connection so can easily handle that. Everything else default.
It's not so selfish. After connecting normally and downloading initial data at a trickle, my client began uploading at a huge rate - 500kB/sec - a level which continued to rise to the life of the download. The upload rate seemed to "spike" a lot, generally describing a sawtooth pattern on my bandwidth monitor - whether it was the program doing this or something else, I don't know. Anyway, it uploaded like mad, regularly up to the 1 megabyte per second upload cap.
Downloading was fairly slow, certainly no more than I would have expected from regular azureus. It picked up speed slowly through the download but seemed, if anything, to take longer than usual to hit its "stride". Of course it is impossible for me to provide a "control download" to compare, I'm just going on personal experience here.
The download finished after 45 minutes and 48 seconds, which is not all that slow but nowhere near the maximum possible. I regularly see speeds of over 1MB/sec from this "cloud" but speed never exceeded 600kB/sec, and usually much slower. Still, an average of 300 kilobytes a second was not so bad, and who knows, maybe it's faster than azureus alone could have done. I cannot help but feel, however, that it did not go as fast as usual - I am accustomed to much higher speeds from sources like this.
And finally, it completed the download with a ratio of around 1.6, then continued seeding after completion. Hardly "selfish".
So, as always, take the claims with a grain of salt. After seeing the lack of performance here, I certainly won't be switching from regular azureus, I encourage you to peform your own tests. My reference link was here: http://www7.2kdown.com/link.php?ref=BjgWaTvsmP [2kdown.com]
So basically... (Score:2)
Trying it out now (Score:4, Informative)
Bittorrent sucks anyway (Score:1)
On average, nearly all torrents I've ever downloaded have always maxxed out at around 5-20k/sec download, which makes a download that ftp would do in several minutes take hours or even days on bittorrent.
This seems true even if there are hundreds of other users/seeders on the same torrent.
Also it nearly always turns out that you have to upload 3 or 4 times the amount of data than downloaded before the download finishes. That means the algorithm is (still) broken. Assuming others on the torrent are also experiencing the same thing, where is all the extra data going and why is bittorrent so slow if so much uploading is happening?
Bye bye! (Score:1)
Emule / Edonkey has this (Score:5, Interesting)
(http://www.bluecrimson.com/ | Last Journal: Sunday August 05, @10:40AM)
As it stands, Bittorrent is how the Edonkey protocol used to be before ratio systems were added to the clients; Fast. After Edonkey started adding anti-leech systems to the clients, the speed went into the toilet, and the queues started skyrocketing.
I suspect that if this catches on, you can kiss 300kb's downloads goodbye.
Trying out now (Score:2, Informative)
This is How BitTorrent Will Die From Within (Score:1, Redundant)
(http://home.earthlink.net/~johnrpenner/)
P2P survives on the goodwill of its users.
This is How BitTorrent Will Die From Within.
More seeds more quickly (Score:1)
As far as I can tell it would be beneficial. So what if they get the whole torrent faster, it means they will become a seed faster and therefore allow the slower people to have a chance as well. It has always been up to the user to stop seeding before the share ratio is at least 1. BitTyrant would only be truly selfish if it chose not to seed at all, but because it doesn't, it will be the same old asshole leechers (and probably dial-up users and people with poor upload limits) that don't seed anyway.
It gets the torrent faster = it becomes a seed faster
submitter has no idea how BitTorrent works (Score:2)
(http://www.shambala.net)
We don't actually use bittorrent on campus (Score:1)
Implementation or Protocol broken anyway? (Score:2)
(http://www.oomentor.de/ | Last Journal: Tuesday November 22 2005, @10:48AM)
Either the implementation or the protocol is broken anyway. When I like to download a file 'A' it e.g. starts with 14 seeds in 20 peers. Then over time it degradfes to 5 seeds in 6 peers (for example). When I stop the program and restart it, it might be it starts with 13 seeds in 18 peers again. For some reason it does not realsie comming and going seeds/peers.
Even worse: I try to set upload to a max, like 1Mbit or something, but instead of maxing the file A and instead of me getting max downoalds on file A it maxes downlaod on another file like B and maxes uplaod on file A.
So to get max downlaod speed on the file I really want most, I have to stop all other downloads.
In other words: on this client, which is called BitTorrent, the downlaod/upload speeds (and my set limits in the preferecnes) are not swarm specific, but node specific, which is utter nonsense in my eye.
The finding of new seeds/peers improved after I changed my firewall settings and opened some ports, but I don't really understand why this is the case, it did not fix the problem of not getting aware of new comming seeds/peers.
angel'o'sphere
I'm seeing... (Score:2, Insightful)
(http://ramblingsofagamer.blogspot.com/)
Please take down the post.... (Score:1)
(http://www.mikebenton.org/)
I met these guys (Score:2)
(Last Journal: Monday February 03 2003, @08:59PM)
people don't understand bittorrent (Score:2)
(Last Journal: Sunday August 20 2006, @09:16PM)
Anybody who has read Bram's writings understand that the protocol is WRITTEN so that nobody trusts anybody. That's the whole REASON the system works. In a talk at Stanford Bram said over and over and over (and I was cheering) that every suggestion coming from people in academia and otherwise are usually about people trying to be "clever" and add some sort of information that the clients are supposed to "trust" to improve the pool.
There are only 3 things you trust as a client until verifying
1. IP address and ports
2. Data as verified by checksums
3. How much good data YOU have received from any particular client.
Your client can choke clients that are hogs and if they hog enough, then enough clients will choke them and their download speed will go down the toilet.
It works.
Adding ratios, having the tracker send out unverifiable data about how much clients "report" they have, etc will NOT work.
Perhaps I'm just completely OT... (Score:1)
(http://www.livejournal.com/users/red_chaos1/)
What Happens With a Network of Selfish Clients (Score:2)
(http://mattwarden.com/)
ubuntu edgy AMD64 (Score:1)
Bitty Rant? (Score:2)
(http://mattwarden.com/)
Re:Well, uhm. Ban the client? (Score:5, Insightful)
Re:Well, uhm. Ban the client? (Score:4, Insightful)
(http://somethingstirring.blogspot.com/ | Last Journal: Monday October 01, @05:09PM)
Re:Well, uhm. Ban the client? (Score:5, Informative)
This paper http://www.cs.washington.edu/homes/piatek/papers/
It probably will initially hurt performance for users with saturated upload capacity who cannot contribute any more to the swarm than they are at present.
It's not at all clear that this is a bad thing, even if everyone switched to BTyrant. A lot could come down to the social behavior of Tyrant users once they become seeders, for example. If a Tyrant keeps a torrent active as long as s/he presently does, it would clearly be an improvement. For those who say "well a tyrant user may not even seed to 1.0"; fine; that Tyrant user won't really benefit much from the protocol.
Holmwood
Re:Well, uhm. Ban the client? (Score:5, Informative)
Re:Well, uhm. Ban the client? (Score:3, Insightful)
(Last Journal: Wednesday February 14 2007, @09:49AM)
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:5, Funny)
(http://www.fokke.net/)
Re:Well, uhm. Ban the client? (Score:5, Funny)
(http://www.fokke.net/)
Re:Well, uhm. Ban the client? (Score:3, Informative)
If it's anything like a browsers UserAgent field, I have a set of WWW::Mechanize perl scripts pretending to be firefox 2.0 on windows.
Re:Well, uhm. Ban the client? (Score:2, Informative)
Re:Well, uhm. Ban the client? (Score:5, Informative)
Re:Well, uhm. Ban the client? (Score:5, Informative)
(http://photo.net/photos/swillden | Last Journal: Wednesday July 19 2006, @01:42PM)
Most likely it's misconfiguration on your part. Specifically, you're behind router doing network address translation or a firewall that is blocking inbound connections on the key ports.
In order for you to get good download performance you have to upload at a reasonable rate (at least with clients other than BitTyrant). To do that, you have to make it possible for other peers to connect to your machine.
Odds are it's a NAT problem. See if you can configure your router to forward incoming TCP and UDP packets on ports 6881-6889 to your computer. Even easier, if your router supports Universal Plug-n-Play (UPNP), get a client that does (like Azureus) and tell it to use UPNP. That will allow the client to automatically tell the router how to configure itself.
Once you get the network configuration right, you also need to make sure your upstream connections are choking your downloads, as can happen with braindead ISPs (i.e. pretty much all phone and cable companies). Use your client's upload rate configuration parameter and set it to a little less than the upstream rate that your connection provides. I have 384kbps upload rate and I find I can send as much as 35KBps without trouble.
I have a 5Mbps connection, and I routinely get 500KBps on popular torrents.
Re:Just use BitTyrant yourself :) (Score:3, Informative)
That is exactly what the client does
basucly it alocated upload so that it will likely improve performance, if it can not come up with a spot that will improve performance then it wi