Slashdot Mirror


Researchers Create Selfish BitTorrent Client

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."

8 of 281 comments (clear)

  1. Not really selfish by m50d · · Score: 5, Informative

    It looks like all it's doing is trying to allocate its uploads more efficiently. Which, assuming it works, should improve things overall, and (if it works) may even get adopted into the official protocol.

    --
    I am trolling
  2. Re:Well, uhm. Ban the client? by jackharrer · · Score: 4, Informative

    Yes, problem is it's similar to changing UserAgent tag in IE or FireFox. Too easy. It's not very viable solution.

    --

    "an experienced, industrious, ambitious, and often, quite often, picturesque liar" - Mark Twain
  3. Re:Well, uhm. Ban the client? by tdc_vga · · Score: 5, Informative

    No offense, but that can be spoofed quite easily. Make it say BitTorrent, uTorrent, or Azureus and then what? As the co-founder of Azureus this has always been a problem and threat to the BT protocol. The best clients can do is make sure packets are being spread once they're sent to another person. The algorithm works like this --send a "rare" packet, watch to make sure another client shows up with that rare packet in X time. Clients should send their rarest packets first, to keep the swarm happy. So if the packet doesn't show up, you've got a leech and your drop him in the Queue. TdC

  4. Ummm... it doesn't? by Xenographic · · Score: 5, Informative
    It doesn't trust the client. It's just greedier about allocating "spare" bandwidth--that is, bandwidth the other clients can't pay you back for. From their FAQ:

    Q: How is BitTyrant different from existing BitTorrent clients?

    BitTorrent differs from existing clients in its selection of which peers to unchoke and send rates to unchoked peers. 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.
  5. Sorry, doesn't work... by nweaver · · Score: 4, Informative

    BitTyrant (read the paper) [i]follows the protocol[/i].

    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.

    --
    Test your net with Netalyzr
  6. Re:Well, uhm. Ban the client? by Holmwood · · Score: 5, Informative

    From the 'article' (really just a brief overview), it's clear that it will generally at present improve performance for the BitTyrant user; it will also statistically improve performance for any peer with substantial spare upload capacity, regardless of client used.

    This paper http://www.cs.washington.edu/homes/piatek/papers/B itTyrant.pdf [cs.washington.edu] goes into considerably more detail, and is well worth reading if you have a nodding acquaintance with the BT protocol and elementary game theory.

    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

  7. Trying it out now by Culturejammer · · Score: 4, Informative

    Gotta say, these speeds are really impressive. Azureus 2.5 would download at about 35kb/s, while the same torrent on BitTyrant is 400kb/s. I use a private torrent network, so I'll have to make up for the ratio afterwards; but still, it's great to get things so quickly.

  8. Re:Well, uhm. Ban the client? by swillden · · Score: 5, Informative

    I have a question: Why the hell is bittorrent so slow? I have a 8MB connection and it downloads slower than I used to get on 56k over non-bittorrent.

    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.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.