Do you remember, how in the early 2000s everyone and their mother was downloading music from P2P networks. I am sure many of you have heard of Napster. I used Napster myself a couple of times to download some music tracks. However, after previewing that audio, within 30 days I deleted those tracks. I didn't like what I've downloaded anyway. This is how P2P networks became very popular – ability to download exactly what you are looking for. For example, if you are visiting abroad and you want to show your new friends a song you love, you could get onto P2P network and download it effortlessly.
Once Recording Industry Association of America has successfully shut down Napster, other “like” services started to emerge almost monthly. The network administrators did not know which port to block, so people do not download both legal and illegal content from those networks. This is about the time when BitTorrent appeared on the Internet. The first BitTorrent client using BitTorrent P2P protocol was released in July 2001. It was open source at first and later became closed-source freeware program. So, why did BitTorrent become the choice of many for file exchange?
For the REASONS unknown.
BitTorrent protocol is a very efficient way to distribute large files. To understand why, I need to explain how it works. A large file is split into many pieces, and each of those pieces is hashed (let's call it indexed for the sake of simplicity). Those indices along with other information about the file are all written into a torrent file. To start the file transfer, that torrent file has to be sent to an intended recipient. Now the recipient may download that file piece by piece. Once that recipient downloads a piece of that large file, she may share that piece with another recipient. Therefore, you can download pieces from various locations to complete your whole file faster than the sequential download.
To a regular user, the BitTorrent protocol is great because he may pause his download, or adjust the network bandwidth for lower or higher download/upload speed. Sequential download does not allow you to adjust your bandwidth nor allows you to pause your download. Also, a lost packet during the sequential download means the downloading of the file is stopped until that packet arrives. BitTorrent does not care if packets are lost, as it downloads other parts of the files meanwhile.
To a computer guru, the BitTorrent protocol is an efficient way to distribute large files. The overhead bandwidth is considerably less than that of sequential download (using HTTP or FTP), where file is downloaded one piece after another versus a random piece at a time. Also, the BitTorrent protocol allows for encryption, making possible secure peer-to-peer and/or peer-to-network connections. BitTorrent gives the opportunity for companies to decrease the bandwidth cost when they have to share a file with its customers by having the customers exchange bits and pieces of the file among themselves.
It's not that simple.
BitTorrent protocol is not that simple as I made it sound. It still requires some considerable computing power. Since each part of the file is hashed, those hashes have to be recalculated once the part is finished downloading and matched with the value that is stored within the torrent file. Downloading a torrent file makes your hard drive spin crazy! Not even talking about watts your processor(s) requires for such venture. Also, the efficiency is only achieved when the files are large. Smaller files should be transferred using the older protocols, such as FTP.
Each torrent file should be registered on a tracker. A tracker of a particular torrent file hosts a temporary database of the users who are using the current torrent file. To download a file, you have to connect to a database of users who download or upload that file. Some trackers keep logs of IPs and other user identifiable information. So in case you are downloading a copyright movie (illegal download of a movie), you could be potentially identified, which could lead to a lawsuit. Also, despite the fact that torrent protocol can obscure its traffic and has the encryption, the torrent traffic is easily identifiable and can be potentially cracked. So don't you ever think you are anonymous on a peer-to-peer network unless you know what you are doing (that would be a set of anonymizers, firewalls, I2P network, and VPN tunneling).
The BitTorrent program.
My very first torrent protocol client was Vuze. I barely remember that client. I stopped using it around 2007, when a major update to its interface took place. It suddenly had way more content that I could handle, and I had to learn the new interface. It was just way too annoying, so I found a lightweight alternative, and this is the only client I am using to date – µTorrent or uTorrent BitTorrent client. The client executable's size is only 400 kilobytes, while the process itself is about 10 megabytes, which is 6-7 times less than a Skype's process size in your ram memory.
The program's interface is very simple but yet very colorful. There are great number of options – from limiting the number of peers to scheduling allocation of bandwidth during certain hours. Having received a couple of good reviews, uTorrent is the choice for a couple of million of users around the world. If you know of any good alternatives, I'd like to know about it.
BitTorrent protocol is here to stay, as quite a few multinational companies are investing in this technology (Facebook and Twitter to name a few). The protocol is going to evolve and I expect the inclusion of this technology at the core level of many operating systems that come into existence in the next couple of years. Downloading updates for an operating system won't be happening from one central server, it will be happening using peer-to-peer networks. In the near future, bittorent protocol is going to include steaming ads, which allow more of legal content on the network in exchange of watching a minute of a commercial, which paid for that file. I guess, with the advancement of the Internet, many television and radio stations should consider their broadcasting future over the Internet in addition to terrestrial broadcasting technology. I just hope they see it as an opportunity rather than a curse.