BitTorrent is an open-source peer-to-peer (P2P) file-sharing protocol. It decentralizes the distribution of files by making each client that downloads a file also act as a server other clients can download from. It even allows the original file host to drop offline without affecting the availability of that file as long as at least one other computer has a full copy of it.
BitTorrent helps distribute files without the use of a dedicated file server. Instead, people can create and download torrent files containing information and metadata about shared files. A torrent file also includes an address for a tracker — a server that coordinates file transfers by tracking the IP addresses for every computer downloading and sharing that torrent. Once connected to the torrent's swarm, the client can begin downloading from seeds and sharing with peers.
Traditional file servers transfer files to clients progressively, starting at the beginning of a file and sending its contents in order. BitTorrent instead splits files into small, uniformly-sized pieces and transfers them out of sequential order, prioritizing the rarest pieces that the fewest peers have. Once the client finishes downloading each piece, it begins uploading it to other peers and moves on to another one. This way, a client can add redundancy to the network and reduce the overall demand on the seeds.
The BitTorrent protocol has several benefits over traditional file servers, making it ideal for specific uses. Many free and open-source software communities use BitTorrent to distribute their software for free to reduce server costs. It also helps quickly distribute large files that see immediate high demand without overloading a single file server. For example, Blizzard used a custom BitTorrent client to release game updates for World of Warcraft, allowing gamers to get the update quickly without the risk of a file server crash. However, the most popular use of BitTorrent is the distribution of pirated movies, TV shows, music, and software.