I’ve recently used bittorrent a bit. For example, I loaded the Ubuntu installer CD with it. For power users, I think rtorrent is a good client.

I tried freeloader, but apart from some obvious bugs (it doesn’t save the maximum bandwidth settings value), i’m lacking interesting information such as the number of peers or of distributed copies.

When toying around with rtorrent and it’s options I noticed a couple of interesting things.

First of all, if you’re firewalled, you’ll be much slower. Allowing incoming connetions (and having a port forwarding in your router) makes a huge difference in the number of peers. My estimates are that 70% of peers are firewalled; if both of you are, you can’t transfer data!

The other thing is that apparently BitTorrent clients use some kind of “Tit for Tat” strategy. They request a packet, you request a packet. If you don’t send them data, they’ll stop sending you any. They’ll still eventually retry (maybe you were overloaded), but largely your download speed will be related to your upload speed. I don’t know how much peers (and seeds) trade information on who has which parts or is sharing how much upload speed. I guess they do somehow to deflect cheaters.

Assuming that the illegal file sharing tools work similarly, this gives some interesting (theoretical?) ways to recude illegal file sharing:

  • Give people free routers - which don’t have an easy-to-use port forwarding option (especially not UPnP, which software could auto-configure…)
  • Tell them that downloading isn’t that dangerous for being sued, but uploading is, so they should set their upload speed limit to the minimum.