BitTorrent is a rather different concept and implementation of a file sharing software that was developed by Bram Cohen. It is written completely in Python, and also has a portable GUI in Python using wxWindows. It is different from eDonkey in such a way that it is easier to maintain as a server, much more portable, bandwidth optimized, and allows for sharers to concentrate on the distribution of single files.

Serving high demand large files to many users using conventional httpd servers is very bandwidth consuming, because your server will need to be able to send file-size*user-count amount of bytes in a rather short time. BitTorrent solves this by enveloping around the normal web file download procedure, allowing the concurrent downloaders of a single file to collaborate on the specific download and send parts of the file to each other in a bandwidth optimized way, lowering the load of the server back to the file-size scale. It does this by temporarily creating a large network of all the clients downloading the same file and swarming the file between all clients in a peer to peer style network, using the TCP/IP protocol.

More technically, the program works this way: One who would like to send a large file to a big amount of users, fires a BitTorrent tracker server, and in the same time generates a BitTorrent metainfo file. The metainfo file is small, around a few KB. The metainfo file basically contains the URL of the tracker, and SHA-1 hashes of all the pieces the file is composed from. One source client, who has a complete file, connects to the tracker. Later, clients download the metainfo file and fire their BitTorrent clients on that metainfo file. Soon, the first client starts sending parts to the other clients, and the other clients start distributing these parts between each other. The job of the tracker is to keep track of all the clients that are available of the file, telling clients about each other, and gather data such as which of these clients have uploaded and how much they have downloaded. After a while, assuming all the parts were sent by the first client, it can disconnect and let the swarm of new clients continue sharing the file with others.

From a user perspective, using BitTorrent is just like downloading a regular file off the web, besides the upload. If the user completes the download and keeps his/her client open, the client will continue uploading the file. The faster and the longer you upload to others, the faster your own download will go.

Comparing eDonkey to BitTorrent, I noticed that though eDonkey averages around 10KB/sec even for new and popular files, I can easily and quickly get up to 60KB/sec and more using BitTorrent for the same popular files. The #bittorrent channel in the Undernet IRC network is used for the distribution of metainfo files. It supplies huge amounts of TV episodes, and Anime.


BitTorrent is a particularly elegant solution to the problem of how to distribute a popular file without running up astronomical bandwidth costs or falling prey to the Slashdot effect. Most average users do a lot of downloading, but hardly use their upstream bandwidth for anything other than chatting or sending email. Since they aren't using it anyway, why not harness all that unused bandwidth to help other people get these popular files? And so that is precisely what BitTorrent does. Just as distributed computing applications such as Seti @Home distribute a problem over many peoples' computer CPUs, BitTorrent distributes serving a file over many peoples' Internet bandwidth. It also appeals to the community ethic that still has some strength among geeks—particularly those in the Free Software or Open Source communities.

BitTorrent is not so much a peer-to-peer application as it is a specialized form of world-wide-web download manager. Activated by clicking a link on a website, the BitTorrent client connects to a type of of file server called a tracker, and begins downloading the file from whichever seeds are available. As soon as a small portion of the file has been downloaded, the downloading BitTorrent client turns right around and starts uploading that portion to somebody else. In this way, the bandwidth of the first seed computer is magnified many times. It becomes feasible for even people whose upstream bandwidth is capped at 128 kbps to nontrivially contribute to the distribution of a file: in the time it would take for them to upload it once or twice to a single person, BitTorrent's trickle-down effect can have distributed it to dozens of people.

BitTorrent seems to be finding its greatest niche among distributors of large files such as captured TV shows and movies (which were formerly distributed solely by the slow and unwieldy IRC bot method), some more licit than others. serves as a clearing house for anime digisub fansubs, and hosts the tokusatsu fansubs of fansubbing group TV-Nihon. formerly hosted user-contributed torrents of all kinds, but closed down after threats from the RIAA. has taken its place in terms of illicit content, but charges a $19-25 subscription fee.

On the more legitimate side, distributes CDROM ISO images and other files that are mentioned on Slashdot and thus subject to the website-killing Slashdot effect. Thanks to BitTorrent, British fans of the popular Fox TV series 24 were able to see episodes before they even aired on American TV, and American and British fans of Farscape (which sometimes aired first in America or in Britain) were able to see the newest episode of the show at the same time.

BitTorrent is not without its problems. Some users (particularly those using a certain less-advanced operating system) may find that their uploads clobber their downloads, or vice versa. The solution to this is to apply traffic shaping so that certain types of packet have priority over the BitTorrent traffic (or else use a more recent BitTorrent client which allows bandwidth throttling).

However, another problem, less easily solved, is the tendency of the average user to close his BitTorrent client soon after his download of the file completes—meaning that his bandwidth is no longer helping other would-be downloaders receive their own copy of the file. If enough people do this, particularly after the original seeder has stopped seeding in order to move on to another file, the torrent can be left with no seeds while there are still people trying to download—and thus, none of the downloads would be able to complete until someone else who had the file started seeding. These file leeches are a common problem, which different sites deal with in different ways; some purport to monitor length of connection after download and threaten to ban offenders' IP addresses; others threaten to make no new content available unless they see an improvement in their BitTorrent stats. Regardless, it is often a part of human nature to care less about other people than oneself, and so this behavior will continue to be a problem.

Bram Cohen invented BitTorrent
to download files without warrant
The Studios were mad
But I? I was glad.
But Comcast was simply abhorrent!

Log in or register to write something here or to contact authors.