BitTorrent - the revolutionary file sharing technology
Updated on October 15,2022
Consider a server-client network architecture as shown above. The server is the parent to the clients; it provides all the resources the clients will ask for (be it a web page, media file or documents). All the clients do is cry for resources and it shall be provided. In this analogy, albeit being the one you might be using now, has a lot to be lost by both sides. The server will assuredly be overwhelmed at least once in a while due to frequent requests by the clients. It is also the single source (and reserve) of information and incase of a breakdown or network failure, no resource will be available to the clients. On the clients’ sides, the whole payload of sharing (downloading or uploading) a resource will be on their shoulders. Think of it like this; when you download a file, is it not you and you alone that ‘pay’ for the bandwidth usage? Yes, it is. What if this world was overturned? No overwhelming of a server (it being the sole source) since all the clients bring not only demand but also supply. In addition, so long as you have received a share (or full) of your requested resource, you graduate immediately to a provider (as long as you are online, so long as you are connected to the network, maybe through the Internet). In this new world am talking about peer-to-peer network, geared by the BitTorrent technology.
The BitTorrent (Torrent) file distribution system is a P2P (peer to peer) network that has swept over the internet within this past years. It is so popular that by 2005 BitTorrent accounted for almost 35% of all internet traffic and more than 50% of all P2P network traffic. These are staggering numbers considering BitTorrent was developed by Bram Cohen at CodeCon in 2002. It ought to be a surprise when you see a human being misbehave (often with repudiating acts) every time you mention the word torrents. That is after reading this article. BitTorrent was developed essentially to distribute legitimate content. But things did change, aside from its popularity as at now, BitTorrent has also its enemies and rather large enemies at that. Reason being, it enables the users to distribute copyrighted material on a massive scale. Thus, with the type of traffic, the BitTorrent technology produces you can see why its adversaries include the likes of music and movie industries. Justly, BitTorrent technology and websites that host .torrent files and Trackers are being sued faster than the technology's download rates.
A genuine question. With all the above facts, its popularity, and you being one of the consumers of the technology, do you really know how the BitTorrent technology works? As one of the most creative thinkers of this century, (I love myself and my work), I have come to realise that the only way to have project ideas in any area of your specialization is to appreciate the technology of interest. Say you do mechatronics engineering, when you walk to some place and all that meets your sensory organs are the very things you consider abhorring, then you might consider asking yourself these simple questions, where does mechatronics fit into this problem? How can mechatronics help solve this? Only then will, like a bolt from blue, an idea strike you. Similarly, you might be wondering in the land of file sharing problems, let this idea of BitTorrent technology help solve your problem. Better still, your mind is so amazing, why don’t you come up with your own solution!
When I talk of a peer-to-peer network, I mean a network with no hierarchies. Consider the image above. I mean, none of the computers is a server alone and none is a client. It is a blend. Each computer in the network acts, at a particular time, as a server (especially when uploading a file), and at another time as a client (when downloading a file). A server feeds the client while the client eats the resources, crying every now and then for more.
The BitTorrent client works by seeking to find Pareto efficiency. This according to BitTorrent’s inventor Bram Cohen, essentially means that the software is trying to create a local optimization algorithm (just making things to the best of your interest). Pairs of counterparties see if they can improve their lot together, which tend to lead to global optima. The BitTorrent client’s main difference from other P2P technologies is that it actively tracks a list of peers that are sharing or downloading a specific file, while other clients work by finding a user with the desired file on their computer. Be very keen in the following paragraphs.
There are four critical elements in a BitTorrent network (Torrent); Trackers, .torrent file, Seeds, and Leechers. The Tracker is the only part that is not shared in the Torrent node, rather it actively keeps track of all seeds and leechers downloading a given .torrent file. This group of seed and leechers is called the peer set. There is only one .torrent file for each shared content. The .torrent file holds all information about the file to be downloaded; name, size, checksum (for error checking), and IP address of the Tracker. Seeds are nodes in the Torrent that have complete copies of the desired content (e.g. Pirates of the Caribbean-the dead man’s tales video file) This number starts at 1 and grows exponentially as the file gets more popular and more people have finished downloading. Leechers are nodes in the Torrent ring that have incomplete copies. To download a file, one simply downloads the .torrent file and loads it into a BitTorrent application such as uTorrent or BitTorrent. If the file is a newly shared, then there is only one seed and the cost of downloading this is born solely on the original host. But as the file gets more popular and is distributed among a growing amount of connected (to mean you must be on the network as at that time) leechers, the cost is shifted from the host and is distributed among the leechers. This makes hosting a file, with an unlimited number of downloads, affordable. Once a leecher is done downloading they are promoted to seeds and will remain on the network solely as an uploading node until they have closed their connection. As an explanatory example, consider the example described in Jeremy Reyes paper, “Cutting Edge Peer-to-Peer File Sharing: BitTorrent”
"Host A seeds a file (e.g. a ‘movie’) that can be arbitrarily divided into 10 data "chunks." Leecher X joins the Torrent and downloads chunks [1, 2, 3]. Leecher Y then joins the Torrent and instead of connecting to A to get chunks [1, 2, 3], Y will connect to X and download the chunks from him, while X continues to download from A receiving chunk . While downloading content from X, Y may download a single chunk  from A that X does not have yet. Y would then share this chunk to X, and X would respond by sharing new chunks it downloaded from A to Y. Further along in the lifetime of this Torrent yet another leecher may come along and download from the current leechers who have partial datasets before attempting to retrieve non-replicated data from the original seed."
I was simply trying to connect the obvious dots, hopingly you have a string attached fully. Behind this random chunk selection is another technology. Relying on an algorithm that chooses who to download from and which files parts to start with when downloading the .torrent file. Since order does not matter, files parts are downloaded from different sections of a file and are placed in order to create a working file (this piece-breakdown actually improves the downloading rate). This is done through "piece selection" which has four main parts: Strict Priority -is a BitTorrent policy that once a sub-piece is selected the selected sub-pieces from a particular piece are downloaded before any other sub-pieces can be requested. Random First Piece -once a user connects to the .torrent, it chooses a random piece in order to get the user into the Torrent ring as soon as possible. Rarest First is implemented after the user has one completed piece of the file, this allows a user to have a piece that other peers want so uploading can be done to as many peers as possible. Endgame Mode is implemented because when a user requests a sub-piece it may transfer very slow, which in the middle of a download is not a problem, but at the end of a download can be a burden. Thus, nearing the end of a download, sub-pieces of the file are actively being requested to ensure fast download rates. Once a sub-piece connection is made, the request is cancelled. Since Endgame Mode is usually a very short period at the end of the download, very little bandwidth is wasted this way.
- BitTorrent allots the cost to the users who usually download from a non-metered bandwidth environment. For a host, the cost is considerably low. A host is usually in a metered bandwidth environment, in which there are charges for bandwidth use, server crashes and other problems that arise from a file being downloaded by many peers at the same time from their website. BitTorrent allows peers to cooperate in order for the success of scalable and robust distribution of files. It allows those who get a host's file to tap into their upload capacity to give the file to others at the same time.
- Those that provide the most to others get the best treatment in return. On the user side, one sees the benefit of helping others. As you download a file you are instantly uploading to others so instead of only downloading from peers that have a complete file, you are downloading from everyone in the Torrent ring. And since each user brings a new resource to the Torrent ring, you get a limitless scalability for a nearly fixed cost.
How to be part of this technology
Okay, first you must have a BitTorrent client such as uTorrent or BitTorrent. Click on the links to download. Secondly, you need to know where torrent files are hosted. There are numerous websites that host Trackers and .torrent files so users can find each other and start the Torrent ring. Some of the sites provide torrents genuinely, like most repository sites e.g. GitHub. I won’t speak for the rest. Consider the following.
http://www.mininova.org and http://thepiratebay.org
You should be able to download anything now. Just open the torrent file found from above sites into the torrent software of your choice. Depending on your torrent client software, you can tweak around the settings according to your needs like increase the no of fragments, increasing the fragment size etc...
That was enough. With power comes great responsibility. In December 2005 the Motion Picture Association of America (MPAA) filed a suit against websites that served as a hub for BitTorrent seekers. The reason being that a lot of the BitTorrent content is copyrighted dvds. The MPAA feels that by targeting major BitTorrent website they can stifle the BitTorrent community. But once again this falls into a grey area because MPAA wanted to get rid of BitTorrent technology altogether. Many of these websites are falling under fire from those that feel their utopian society do cause more harm than good. Never sit on the fence, take your side.