Article: Evolution of BitTorrent by CEan - Desijays

Evolution of Bit-Torrent

It is 9 'O' clock at night. The same typical course of events have started to materialize. You download a very interesting '.torrent' file from the Internet. Then you let the torrent client to start the download process that may go on until the wee hours of the morning and possibly beyond that. And then you fall asleep. During the night your mind is numbed and thoroughly oblivious to all the leechers that will connect to your computer or your computer will connect to. Completely ignorant of the bits and bytes moving back and forth at the speed of light. And then a few hours later, when dawn breaks dusk, your humble client has downloaded the file and is proactively seeding it the other side of the world that is getting ready to sleep!!!. Sounds familiar?

Welcome to the world of democratic file sharing where there are no boundaries, no countries, no presidents, no rules, no laws.

Some terms you should know

Peer ------ A peer is a client that participates in a swarm to download a file along with other peers; A peer normally doesn't have the entire file.
Seed ------ A seed is a client that has a complete copy of the file. A seed does not download. He only uploads.
Leecher ------ A leecher is someone who only wants to download but doesn't want to upload.
Freeloader ------ Similar to a leecher.

History

Peer to Peer (P2P) networks aren't a new concept. They have subsisted in an 'on' and 'off' fashion according to the technological chronology from the 1970's. The most prominent implementation of the underlying P2P architecture was the initial incarnation of Naptser - The notorious music sharing P2P client that ruffled the peaceful feathers of the RIAA (Recording Industry Association of America). Napster was eventually shut down by a compelling lawsuit from RIAA for infringing on the copyright laws of the music files being distributed on its network. As a consequence Napster had to cease operations and close its services forever.

"A phoenix will arise from the ashes". That phrase would accurately define the subsequent ascendancy of the bit-torrent P2P protocol and the innumerable clients based on it. The first client that made use of the bit-torrent P2P protocol was ironically named bit-torrent and was coded by Bram Cohen. A 29 year old programmer who was working at a company that was a victim of the dot com bust during the early years of the new millennium. Apparently, the company was working on a software project that allowed a user to store his personal data, broken up into many arbitrary pieces, in computers all over the world. Of course, they were all in form encrypted. As the project did not see the light of day, Cohen borrowed the underlying concept and extrapolated it to transferring media (music and movies) in chunks of pieces over a network.

His ensuing work on bringing it to fruition, gave way to the bit-torrent p2p protocol and consequently, the many clients that depended on it.

Napster P2P vs Bit-Torrent P2P

People are usually surprised that the Napster P2P and Bit-Torrent P2P are not one and the same. Functionally, they are one and the same. That is they both facilitate the sharing of files between various users. But technically, they are completely different. They both make use of different underlying sharing models to accomplish their parallel objectives..

Let us assume a user wants to download a particular song using Napster. The user begins by sending a search request to the Common Index Server that replies with all the peers that have the file the user is requesting. After the Napster program compiles a list of users having the potential file, the user can click on it to start the download process. Now, Napster attempts to make a one on one connection with the peer that has the required file. Once a stable connection is established, the downloading process begins. After the file has been downloaded the host computer disconnects from the user's computer.

Right out of the box, Napster P2P appears to be very simple and in many ways it really is. But its sharing model, is conducive for the looming substandard performance issues caused by inefficient use of available bandwidth. Let me elaborate. Broadband internet access is quite prevalent and is characterized by its inherent ability to download data at a rate many times faster than it can upload. As a consequence if the user is connected to a single peer, data will be uploaded only at the maximum upload speed of the host even if the client has a download speed that is many times higher. So people using Napster were only able to transfer small files among themselves. And if a 700 MB file had to be downloaded, the wait would usually be a week or more.

Moreover, Napster depended on a centralized common index server to host a list of all the available song titles. And this was Napster's gapping hole where the final nail was laid to rest when it came to a point when the court had to issue a shutdown order. When the court realized the entire service was centrally organized, it was a no-brainer to give it the thumbs down. With Napster out of the arena, millions of users were shuffled back to square one. The evolutionary equivalent of a stone age as far as the revolution that came along with Napster was concerned!!!.

Although, Napster was a runaway success, garnering millions of users in a very short time frame; at the height of its battle to persist and stay on, it eventually gave way to a newer and far better implementation of the P2P architecture. In spite of the existence of many other P2P clients, it was bit-torrent that stirred the P2P revolution once again, that was reminiscent of the Napster days. The underlying philosophy of Bit-Torrent followed the maxim of 'tit for tat'. That is sharing was of paramount significance for Bit-Torrent to work properly. You got only as much as you gave!!. Freeloading (downloading without uploading) isn't allowed. In many cases it was frowned upon.

When a Bit-Torrent client starts to download a torrent, it first connects to the tracker to announce its presence to the swarm. A swarm is collection of peers and seeds interconnected together to share a common file. Once the client announces itself, it receives a list of other peers and seeds that are participating in the swarm. The basic difference between a seed and a peer is that a seed has the complete file, and a peer does not. A big file is divided into many smaller pieces. When a swarm has just been created, a seed may choose to give different chunks of a file to different peers so that way, they can transfer pieces of the file among themselves. This act of sharing the load, culminates into an efficient use of the available bandwidth.

One of the biggest advantages of this method of file sharing is that a large number of users can download the file with only a meager increase in network load. If carefully observed, it can be proven that the amount of bandwidth available to a swarm is directly proportional to the number of peers in the swarm. The Bit-Torrent protocol is designed in such a way that the larger the number of users participating in a swarm, the higher the average download speed of the swarm. This is directly in contrast to the way Napster and other P2P clients before it, functioned. For instance, In Napster, the host suffers performance wise if too many clients tried downloading from it.

Another important feature of the Bit-Torrent protocol is that it can function without a central tracker using a client added feature known as DHT (Distributed Hash Table). Not all Bit-Torrent clients support DHT. uTorrent, BitComent, KTorrent support DHT. Napster on the other hand, depends exclusively on a centralized indexing service. Without the Indexing Service, the entire service comes to an abrubt halt. But with Bit-Torrent clients, a central tracker is not required, albeit its presence would make the transfer much more smooth and relatively efficient.

Torrent Sites

Along with the proliferation of Bit-Torrent, there were many websites that started cropping up to complement and fuel the expeditious growth of Bit-Torrent. There are entire websites that cater to the needs of millions of downloaders. These websites host '.torrent' files that can be downloaded to the local computer. The '.torrent' files contain metadata, that has information regarding the files in the torrent, the address of the trackers and the hashes of the various pieces for error detection. Most of these websites, arrange their torrents into categories for easily finding what you want. The innate functional architecture of Bit-Torrent lends itself in such a way, that only files that are popular can be downloaded at acceptable speeds. A torrent that has only one seed is as good as Napster and could take days even for a small file.

Some of the most famous Torrent Sites include the Pirate Bay, Mininova, BTjunkie, isoHunt, BitTorrent. In days gone by, Supernova used to rule the roost but that was until it came under cease and desist orders for its copyright violating operations. Like Supernova, the Pirate Bay also came under fire from the Swedish government for infringing on copyright laws. It was shutdown in May 31, 2006. But the site owners worked around the clock to bring it back online on June 3rd, 2006 with their new hosting site in the Netherlands. This time though, they also controlled a couple of backup servers in Belgium and Russia in case the government of Netherlands turned its back on them. But as of June 14, 2006, there was speculative local news that Pirate Bay is re-hosting from Sweden. Like Napster, the organizations that felt threatened by their presence resorted to legal action to bring them down. But unlike Napster, which was centrally organized, Bit-Torrent is not and therefore bringing it down would be a greater challenge. Here is a list of Torrent Sites in order of their popularity,

* BTJunkie
* BitTorrent.com (belongs to creator Bran Cohem)
* Bushtorrent
* isoHunt
* Meganova
* Mininova (my personal favorite)
* The Pirate Bay
* Torrent Portal
* TorrentSpy
* Torrentz

-above list was compiled from an external source

Future of Bit-Torrent

Even though Bit-Torrent is not completely P2P compliant, it definitely has more P2P characteristics in the nature of its functioning compared to the rest in the same league. A true P2P system would employ no trackers, no servers and no central database. A true P2P system would only have clients that function also as servers depending on the context of their operation. One of the methods that could be employed could be to form a swarm by connecting to one peer in it. This peer can then announce the new member's presence to 7 or 8 other peers. And these 7 or 8 peers can each announce the new member's presence to another 7 or 8 peers. This exponential aggregation can fulfill the function of a central tracking system. This is just one of the enhancements that would emboss Bit-Torrent's presence on the technological map in an undeniable fashion.

Almost one third of internet traffic comes from Bit-Torrent. That is a staggering amount, considering the size of the internet. With the advent of Bit-Torrent it is now possible to have the world hear what you have to say. No longer does a news agency have to be confined to the elite few within the concrete walls of the corporate landscape. User created content will find a safe haven from the prying eyes of the judicial organizations all over the world. Technologies like these, will unite people for a common cause if the need should arise. The RIAA or MPAA will not be able to curb the far reaching arm of Bit-Torrent. Its popularity like the number of users that use it will increase fervently at a brisk pace. With increasing broadband speeds and the increasing number of users that have access to it, Bit-Torrent is here to stay. It will prevail against all odds however legal or illegal it may be. All attempts to circumvent its efficiency might not be very successful. After all, the number of users vouching for it, are always greater than the number of people who are not!!!!!.
-----------------------------------------------------
Above article was written by CEan - Desijays for CrazyEngineers in January 2007.

Replies

  • durga ch
    durga ch
    biggie!!!
    Biggie, when ever I try using torrents I am a bit apprehensive that the corrputed files being uploaded( and then downloaded)... is there any way to see the quality of the file being downloaded ?i understand the material from internet cannot be always check for..but still?

    and tell me...

    i never understood one conept of it even though I use it 😔
    what do you actaully mean by ' parts of file' on various computers ie seeds?

    when i say i have a file.. i have it...what does it mean I have it in parts??

    i guess you are understanding what I am trying to say?
  • Kaustubh Katdare
    Kaustubh Katdare
    I'm not the author of the article. I haven't seen Desijays around for a long time too. Anyone's got answer to durga's questions?
  • Neha
    Neha
    durga
    biggie!!!
    Biggie, when ever I try using torrents I am a bit apprehensive that the corrputed files being uploaded( and then downloaded)... is there any way to see the quality of the file being downloaded ?i understand the material from internet cannot be always check for..but still?
    You can read about the quality of a particular torrent being downloaded in the user's comments section provided at some of the sites as miniova.org.
    Otherwise, while the file is downloading, u can try playing the file, as the file isn't fully downloaded, u can only get the idea of the audio n video quality of the file.
    The former is recommended coz the latter one may not work with some files but its worth trying.

You are reading an archived discussion.

Related Posts

BoyToys: The Mobile History ​ Can you imagine how telephones were back in the 80's? Compare them to the mobiles now. I'm just talking about a few 20 some years....
how would you write a pic program in picc18 compiler for a pic18f4431 in mplab to send the letters ‘G’ and 'A' to matlab at 9600 bps? All I can...
Hey Im new to interfacing on matlab and i would like to know what the following error means: ??? Error using ==> eq Array dimensions must match for binary array...
My PC is really not so good ,but i find that registry cleaner can do some help,here is what i used now,
hi. we are students of second year doing our electronics and communication engineering. we want to do a hardware project in the field mentioned above preferably with energy conservation. kindly...