What is BitTorrent?

BitTorrent is a P2P (peer-to-peer) technology that is used for file sharing across the globe.

BitTorrent is one of the most popular and common protocols that is used for file sharing on the Internet and it is assumed that as of 2009, almost 50% of the traffic on the net was Bittorrent traffic.

BitTorrent allows users to transfer files quickly between people, allowing simultaneous uploads as well as downloads. BitTorrent doesn’t have a client-server architecture but is purely based on the peer to peer network technology.

Effectively Bittorrent uses torrent networks to transfer files. The BitTorrent client allows users who are willing to transfer files to join a swarm of hosts who participate in uploading and downloading files.

The BitTorrent technology is so versatile that the users who are having slow network connectivity can also take part in the process and can upload and download files. BitTorrent has also been implemented in mobile technology allowing users to share files on the move.

The method in which this works is as follows. Any user who wants to upload a file would create a torrent file based on the file he/she wants to share and send it to people through conventional means i.e. web, mail, etc.

Once the torrent file is created, the user would use the BitTorrent client to share the file and start seeding. The user who wants to download the file, would upload the file into the BitTorrent client, and based on the information in the torrent file, a connection is made to the seeder and the file starts downloading.

The user who is downloading the file is known as a leecher.

The files that are getting distributed are fragmented into segments which are called pieces. This would allow for uploading and downloading files into pieces without having to upload or download the whole file completely.

Once a piece of a file is downloaded onto a system (peer) that peer starts acting as a seed for other leechers. Moreover, each piece has a hash associated with it which is known as the cryptographic hash for the prevention of corruption or tampering with data while in transit.

When a peer has finished downloading the file completely, there would be a transition in the state of the peer. The peer which was a leecher up until now would become a seeder and start seeding the file for others to download.