The word torrent carries with itself a bad reputation as being something that is malicious in nature. But in actuality it is an ingenious protocol that has revolutionized sharing of large files to a large number of people.
It was founded by Bram Cohen a Computer Science major from the University of Buffalo. He is also the founder of the first platform that used this protocol, which is now a trademark of the protocol, BitTorrent.
How Normal Downloading Works
For normal downloads,there is a pretty simple infrastructure that is used, wherein there is one main server that holds the content that has to be shared across the users. Every node that wants to access or download this information sends a request to that server which then initiates a download.
We can clearly see how this would be effective for smaller files that need to be shared only to a small number of people. With the increase in the number of nodes that want to download a specific file,there is increase in the stress for the main host server. The host server could get flooded with requests which could at some point lead to the server crashing.
A lot of bandwidth is also required to transmit this data across many nodes which many ISPs would not be happy about.
How BitTorrent Solves These Issues
First of we need to acknowledge that BitTorrent is a P2P or Peer-Peer Network. Which basically refers to an architecture wherein there is no central node or node with special features. Every node in the network is equal and has the same roles.
When a Torrent download is initiated there is one computer(seed) with the file which is put up to be downloaded.This file is what is called as a torrent file.
A torrent file contains metadata meaning it holds the data about the core file or the file that is to be downloaded . A typical torrent file contains sizes, timestamps, folder structure,tracker as well as cryptographic hash functions that is used to verify the integrity of the content.
A torrent file does not refer to the actual download file, but it is also used in that context.
When a new node enters we see that the files is now being transmitted by the first computer to the new node. The new node now starts to transmit whatever bits of the file it has downloaded to other nodes that are requesting the same file. Hence reducing the load on the first computer that had the file.
To facilitate these downloads we must use Torrent clients such as BitTorrent or uTorrent which decypher the metadata from these torrent files helping the software piece together the entire data or the core file.
The process is illustrated below
With the increase in nodes there is increase in the number of contributors leading to faster and more efficient downloads. These nodes are also called as peers.
The nodes that download a torrent file need not necessarily contribute by uploading the parts of the files they have downloaded, such nodes are usually called leechers, there is also a seeder node,meaning a node that already has the entire file and acts only as an uploading participant.
Generally more the number of peers more efficient the download.
Many companies utilize Torrent files to distribute things like game patches and also software downloaded as it is more efficient for them to do so as it reduces bandwidth costs and also makes the download faster. Torrent is not all illegal, it only becomes illegal when there is copyrighted content that is being downloaded.
Keeping in mind all of this, one can clearly see how useful a technology the torrent protocol is and how it is one of the first protocols that utilized decentralized computing making it one of the most pioneering internet protocols. If you want to learn more about decentralized computing you can check out the articles on Bitcoin and Ethereum here.