(picture)

May 14, 2004

Torrents

BitTorrent is an interesting piece of software. Despite some good press, and a lot of work (Bram Cohen has been building this for several years) it still seems to be relatively unknown outside two groups: decentralization geeks, and the kind of media-hungry youngsters who want to Eat All Your Bandwidth.

Eating bandwidth is one thing BitTorrent excels at. We've seen a single torrent instance download faster than 300k/sec and simultaneously upload around 30k/sec on a cable modem connection. (Incidentally, why is home cable so asymmetric? I can't think of any rational reasons for this...)

How? Why? The BitTorrent system works by distributing downloads: when you're downloading a file (in small chunks), other downloaders can fetch from you at the same time. This reverses the usual economics of file distribution. If many people want to download from a Web server there is only one source, and everyone suffers (the slashdot effect). With BitTorrent, the available bandwidth increases with the number of active downloaders. The more popular a file is, the faster it can be obtained.

There are a couple of caveats. Publishing .torrent files (the file metadata) is not trivially easy: you need a friendly "tracker" service (or run one yourself, best with a stable server on a static IP address). Downloading works best if you allow upload too, so if you're behind a firewall or NAT, you should open the appropriate ports for inbound connections.

Links: some downloads; much more background information at InfoAnarchy and Wikipedia.