Wednesday 9 April 2003

, , ,

It's raining bits, hallelujah!

BitTorrent was plodding along quite nicely in relative obscurity until an article published by the BBC claimed that it was the cause of wide-scale piracy of the movie The Matrix Reloaded. The story spread throughout the internet like wildfire and reached its zenith of exposure when it was linked by Slashdot. In effect the BitTorrent homepage and a large number of supporting 'tracker' sites were 'slashdotted'; the servers either collapsed under the strain of the extra traffic generated or were temporarily taken offline preemptively to throttle bandwidth usage.

Before being embraced by naughty swashbuckling pirates, however, BitTorrent was brought into play to distribute new versions of Linux as quickly as possible on release. Traditionally these distros are spread using FTP sites, though unsurprisingly with so many people attempting to download the same files simultaneously, they quickly become swamped and hence inaccessible.

The solution was to divvy up the bandwidth burden and share it amongst the people downloading these colossal images. This reduces the strain on the host servers and their mirrors, allowing the files to be propagated throughout the world as quickly as possible without a break in transmission. This is made feasible by allowing people to automagically upload segments of the files they are currently transferring, but we'll cover the technicalities of the process in more detail later.

BitTorrent has always had a reputation for providing hot-off-the-press downloads, and the less than legal branches of its operation are no different - here lies its appeal! In the credibility hierarchy of peer to peer tools, BitTorrent sits somewhere between IRC and Kazaa as it allows people who do not have access to private FTP sites to download very recent releases before they trickle down to networks plundered via 'kiddie clients'. This snobby distinction seems to have emerged in response to file sharing's growing mainstream appeal - if your granny can use a software application without breaking into a sweat then it's no longer cool. Many geeks don't like having their territory invaded and are filled with glee by the thought of these granny-friendly networks being disproportionately targeted by virus writers and anti-piracy organisations.

While many fans like to claim that the way BitTorrent works is novel, it really isn't; many of its best attributes are borrowed from well established clients. The protocol is very similar to that of eDonkey in that it forces users to give as well as take to ensure that those wanting only to leech are shut out in the cold. The more bandwidth you devote to uploading, the greater your potential download speed becomes. Hence if you have a fast connection you are given priority over those people unfortunate enough to be stuck with a dial-up modem for instance.

The parallels do not end there - akin to eDonkey (as well as many other modern P2P clients), you are not required to have completed your downloads before being able to contribute to the community. If you have successfully transferred a segment of a particular file it will automatically begin uploading to other BitTorrent users seeking that file - assuming they are in need of the segment in your possession. This ability to download parts of the same file from various sources is known as 'swarming'. It's not new, but it is very effective as it means that many more download sources are made available prior to completion of file transfers.

Unlike eDonkey, however, BitTorrent doesn't have an integrated search engine. Instead it relies on its users to create and upload .torrent files to BitTorrent community sites. These are similar to shortcuts or bookmarks as they contain links to the online location of files, and are automatically processed by the client when accessed via a web browser. eDonkey release listing sites function in a similar way except it isn't possible to save the hash codes to your hard drive in as convenient a fashion.

The consequent data ping-pong between clients is managed by a central server known as a tracker. Trackers store the locations and other attributes of files made available by the BitTorrent community. They orchestrate data transfers though do not actually host any of the files - while you would expect this fact to protect the owners of tracker sites from rabid anti-piracy groups, they are nonetheless being prosecuted left, right and centre.

Because BitTorrent is an open source project anyone with sufficient programming knowledge can modify the original code so as to improve its functionality. This has led to the emergence of a number of hybrid clients; the best of which I believe is BitTorrent Plus. Alternatively, if you happen to already have Shareaza installed and use it for connecting to the Gnutella or eDonkey network you'll be glad to know that it is also capable of capturing BitTorrent downloads, averting the necessity of an independent client.

The only adjustment you need to make to ensure that .torrent files are processed correctly by Shareaza is to associate them with Shareaza's main executable file. This can be done by browsing through the following options: Tools - Shareaza Settings - General - Web, and ticking the relevant box in the 'peer to peer link handling' section.

Now that I've whetted your appetite I'm sure you'll want to get started and see what BitTorrent has to offer. You can download the client here. When you install it, it doesn't appear to do anything - no start items are created and nothing is placed on the desktop. Don't worry, this is perfectly normal. The original client doesn't even have a GUI - it has more in common with the integrated download managers found in Internet Explorer or Firefox as all you see when transferring a file is a progress window. This can be a help or a hindrance depending on your preference for tweaking default settings, though it's perfect for newbies who just want to get underway with minimal fuss.

To find something to download you have to first locate a torrent listing site. The best one in my opinion is Mininova though lots more can be found through www.btsites.tk. Open your chosen torrent source in your favourite browser and you will be confronted with a list of the most recently added torrents. These will be uncategorised, but are a useful first point of reference if what you wish to download was released very recently.

For slightly older releases you will need to click on the relevant category instead. Each entry will be accompanied by various snippets of information including the file size of the release, the name of the person who submitted it, the number of 'seeds' available, the number of people who are currently downloading it and an optional link to a web site containing more information.

Seeds are people who have in their possession all the required segments of a release. It is not recommended to begin a download if no seeds are available as you are unlikely to be able to complete the transfer. Obviously the more seeds there are available, the faster the transfer will commence, all other factors being equal that is.

Found something you like? Click on the link and the .torrent file will be downloaded to a location of your choice. This shortcut contains a link to the relevant tracker and the location of the file you wish to download. When double-clicked it will automatically be opened by BitTorrent and a download window will appear. You will now be asked where you would like to save the file. Choose a location and a directory will be created and a number of files placed in it. These segments of the desired file will be artificially inflated from the outset so may appear to be complete. Of course they aren't at this stage - the empty 'scaffolding' is gradually filled with the contents of the file as it is transferred as is the case with many of the more advanced download managers.

You may have noticed that the transfer window contains statistics for both a download and an upload transfer rate. This is because other BitTorrent users (peers) are able to download the file from you as it transfers to your computer long before it is complete. Note that unless you create and upload your own .torrent files this is the only way to allow other people to download your files - BitTorrent does not make use of a shared files folder as the more mainstream clients do.

While you are downloading from other peers there are a number of status messages that may present themselves. A transfer is described as 'choked' if the sending peer is unable to upload any more data to you because they have already reached their maximum number of contiguous uploads. An 'interested' marker indicates that the peer you are connected to has segments of a file that you require. 'Not interested' should now be self-explanatory.

Transfers should automatically resume themselves if interrupted, but if this doesn't happen of its own accord you can revive them by re-saving the file to the same folder. Once the transfer is complete you are encouraged to leave the download window open to allow other users to continue sharing the file - when it is closed, the data supply is instantly cut off and you drop out of the swarm (the group of people sharing the same file).

Creating your own .torrent files involves a few more steps than sharing your files in most other clients would, but is nonetheless a very simple procedure. There are various tools available to automate the process though my favourite is Make Torrent. The required steps are as follows: Run the program and click on the 'create torrent' tab. Now use the built-in file browser to select either a single file or a whole directory depending on how much data you want to make available to other users. Decide which tracker web site you wish to upload the file to and enter its announce URL in the space provided (or select one from the drop down menu).

If you press the 'create .torrent' button the file will now appear alongside the files you intend to share. Visit the tracker's homepage and follow the instructions for uploading your new .torrent file. Finally you are required to seed the file to ensure that it is made available to other peers. This simply involves clicking on the relevant release link.

That just about covers the basics so should be enough to get you started. It is possible to create your own tracker, but I wouldn't recommend it. You would be much better off contributing to an existing one to help it grow - the more people there are using the same tracker, the more download sources will be available and the faster you will be able to transfer your chosen releases. If your heart is set on running your own tracker regardless then you will find plenty of information online detailing exactly how to go about it.

As much as I hate to finish on a negative note, I feel I should briefly address the most prominent drawbacks of the BitTorrent protocol. Firstly, because transfers rely on the operation of tracker sites, if these sites go offline it becomes impossible to download or upload until they re-emerge. Unfortunately this happens quite frequently because surging downloads of immensely popular releases can cause the servers powering tracker sites to exceed their allotted bandwidth and become unavailable for long periods of time.

Because these trackers operate independently of one another, the BitTorrent protocol in general distinctly lacks unity. Accordingly, what is available through one site will not necessarily be available through another. Even if the same releases can be found on two different tracker sites you will only be able to interact with the users of one of them at a time for each release you wish to download - if there are fewer sources of file x there is less chance of user y completing his or her transfer and/or downloading the file in question at a reasonable speed. This shortcoming is circumvented very effectively by networks such as eDonkey by providing universal hash codes that remain useful between release listing sites.

If you intend to use BitTorrent for chthonian practices of a swashbuckling nature (which I should point out I don't advocate), the unreliability of the protocol should be the least of your concerns. Whenever you download copyright protected material using BitTorrent you leave yourself wide open to surveillance from anti-piracy organisations such as the RIAA and MPAA since it lacks key anonymity features. If you were found to be sharing a significantly large library of files you could be prosecuted for violating digital copyright laws, or in a best case scenario, you might have your ISP account terminated.

While BitTorrent's user base is growing steadily it still has a long way to go before it can begin to compete with more widely used clients such as Kazaa. As it borrows many of the best features from eMule without implementing them with the same degree of success, for me at least, it has a certain 're-inventing the wheel' quality about it. With this in mind, I have to ask, does BitTorrent offer anything new over and above existing clients, or perform the same functions as those clients more efficiently? Personally I'd have to say no. It will take a lot more than BitTorrent has to offer to convince me to switch from my current favourite peer to peer client, eMule.

0 comments: