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."
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.
Torrent of Client (Score:3, Informative)
Clicky to pirate bay [thepiratebay.org]
Not really selfish (Score:5, Informative)
Re: (Score:3, Interesting)
If you're after communities and sharing current model is better. If you're after fast download but shorter torrent lives - go for new one.
Re: (Score:3, Interesting)
If you're after communities and sharing then you're already part of a private tracker, which keeps a tab on your ratio no matter what client you use. Public trackers are a free-for-all grab. I often grab torrents when the seeds are many and peers few, and don't feel bad about that at all.
Re: (Score:2)
Wish that ratio'd sites would take thafact into account - the older the torrent, the less likely it'll be downloaded by new people and the harder it is for seed to keep their ratio. Not everyone can bittorrent at work and refresh every 5 minutes...
Re: (Score:2)
Now what would be interesting would be if they client would give priority to those with more upload up to a certa
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.
Re: (Score:2)
Re: (Score:2)
On the other hand, if a BitTyrant client finishes downloading more quickly it may actually be a more effective seed for the entire file - unless the user intentionally stops uploading as soon as download is complete.
In short, it's virtually impossible to tell what effect this will have on the network without massive empirical
Re: (Score:2)
It all depends on how much impact it has that those who don't seed leave the swarm earlier, since they finish faster. Likely no real damage to the network though.
Re: (Score:2)
leechers (Score:2)
Re:leechers (Score:4, Insightful)
Re:leechers (Score:5, Interesting)
Re:leechers (Score:4, Interesting)
Re: (Score:2)
Re: (Score:2)
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)
Re: (Score:2)
Re: (Score:2)
I still think it would be better if private trackers (like the one you probably use) just ban people based on ratio instead of desired client.
The trackers will not abide. (Score:2)
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.
Re: (Score:2)
If you accept someones basics premises and moral code you will find that they generally follow that course and act rationally within its bounds.
This may not be what you consider moral however
(I know of people that think that preventing you from downloading something is a sin, that all media content should be free and that people that don't seed until atleast a ratio of 2 shoul
Not necessarily good (Score:5, Interesting)
Re: (Score:2)
Re:Not necessarily good (Score:5, Interesting)
Interestingly, if bittorrent clients start "cheating", ISPs will be happier, and you will see less throttling.
Ratboy
Re: (Score:2)
Indeed. To put things in a practical way for bittorrent, it is possible to make a client that 'cheats' by favoring other people using the same client, thus forming a cooperative group, that if large enough can have a lot of impact (mainly in con
Not so selfish. (Score:5, Insightful)
Re: (Score:2)
In other words, they do what any rational client should do.
Re: (Score:2)
At a glance, it looks like it has both positive and negative effects. Isolated (ie, slow connection to everyone like dialup) clients are going to lose out since serving them yields such a low payout. Meanwhile fast connections get preferential treatment since they can so easily be served. I don't know how much tit for tat is permitted. It may turn out that one will need to serve slow clients in order to keep downloading, but I suspect that's probably not the case.
Otherwise, it should result in more effici
Re: (Score:2)
Surprised It Took This Long (Score:2)
By the way, am I right in thinking good behavior can never be enforced in peer to peer systems?
Re: (Score:2)
If the tracker has a lot of people who seed more than they download, then a few people using this client will help increase the total number of seeders, meaning that there are more people capable of providing a specific portion of the torrent, which should allow for maximum download speeds for whoever is left.
If the tracker has a lot of people who seed less than they download, it means that there will be more load on the
Even better...downloading without ever uploading (Score:5, Interesting)
Re:Even better...downloading without ever uploadin (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
Uh, high horse? You're the one with the ivory tower up your ass. I'm more than willing to provide some bandwidth to some people whose laws are restrictive. Well, of course, so are ours :P But you see what I'm saying. I still want to prioritize non-leechers first, however.
the bitthief webpage is a big (well, small) pile of shit with basically no content except a download and a claim. I suspect it works, but only by
Re:Even better...downloading without ever uploadin (Score:2)
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: (Score:2)
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.
Re: (Score:2)
Re: (Score:2, Insightful)
A welcome feature (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Try to give it a spin (Score:5, Funny)
Ironically enough (Score:2)
Re: (Score:2)
No one know of a torrent for it?
Re: (Score:2)
Slashdotted I presume so I'll wait.
Re: (Score:2)
Yall quit whining (Score:2)
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.
So basically... (Score:2)
Trying it out now (Score:4, Informative)
Emule / Edonkey has this (Score:5, Interesting)
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)
submitter has no idea how BitTorrent works (Score:2)
Comment removed (Score:5, Insightful)
Re:Well, uhm. Ban the client? (Score:4, Insightful)
Re: (Score:3, Informative)
Re: (Score:2)
That's what Gordon Gecko said.
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: (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:5, Funny)
Re:Well, uhm. Ban the client? (Score:5, Funny)
Re: (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: (Score:2, Informative)
Re:Well, uhm. Ban the client? (Score:5, Informative)
Re: (Score:2)
Re: (Score:3, Interesting)
> So if the packet doesn't show up, you've got a leech and your drop him in the Queue.
This technique can easily be circumvented. A leech client can co-operate with another leech client. As soon as he receives your rare packet, he can tell the other client to pretend to have it, too (without actually sending it).
It makes sense when he does the same for the other client, so both can leech from the swarm.
The only difficulty is ho
Re: (Score:3, Interesting)
Rather than worrying about leeches, why not concentrate on speed?
Re:Well, uhm. Ban the client? (Score:5, Informative)
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: (Score:3, Informative)
It can happen on any ISP. This is a limitation of TCPIP and the upload buffers in all the devices on the network behind your worst bottleneck.
When TCP decides it can send more data, it dumps a whole window size load of packets onto the network. These will clog up your modem / router's transmit buffers. Normally not a huge drain, but if you're uploading to a number of hosts this can add significant lag for the small ACK packets you have to send periodically. If you can't s
Re: (Score:2)
I think that the user agent field is fixed width, meaning that even if you don't have access to the source code to your client, an ambi
Re: (Score:2)
Sorry, doesn't work... (Score:5, Informative)
From any other peer, you can't tell whether someone is using the BitTyrant bandwidth selection strategy or the default allocatino strategy, and user agent is, of course, meaningless.
Re: (Score:2)
Re: (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 will dump that alocation on other users.
The only downside is that peopel who would hit and run can do so faster.
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: (Score:2)
Isn't this essentially a P2P violation of net neutrality? Instead of treating all clients the same, we prioritise the ones we like at the expense of those we don't?
Could we examine its effects and scale them up to get an idea of what would happen without net neutrality?
Re: (Score:2)
Re: (Score:2)
> having to do with cliques
That's as may be, how are you going to explain that to Joe Idiot who doesn't even understand what "net neutrality" means? It seems to me that we could make a much more compelling argument with an experiment:
"A preference system was instituted on this network, very much like what ISPs are proposing to institute across the internet. The results sucked ass and made life worse for everyone except a tiny few people who already had it much bett
Re: (Score:2)
I don't even think Net Neut
Re: (Score:3, Insightful)
Something tells me that this guy is looking for karma instead of doing good research.
Ummm... it doesn't? (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
Yes, and the nodes don't trust each other. They get a block from a peer, they check the block to see if it is valid. If they get too many invalid blocks from someplace they ostensibly stop getting them from there. Meanwhile a central tenet of bittorrent is that your client is supposed to be more willing to upload t
Re: (Score:2)
Name just one way in which Bittorrent breaks this rule...
I'll wait.
Re: (Score:2)
Re: (Score:2, Informative)
[Overview]
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.
Re: (Score:3, Interesting)
Indeed, it's true that BitTyrant will not always improve performance, even when directly compared to other clients on the same torrent at the same time! There are several reasons for this:
Re:Just great (Score:5, Insightful)
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
Not such a useful feature IMO (Score:2)