Increasing Internet bandwidth at gigabit transfer speed, the availability of high-quality encoding and compression of digital media, the increasing capabilities of residential personal computers at much lower cost, and efficient low-powered small footprint single computer on a chip are some of the main factors that contributed to the widespread adoption and facilitation of peer-to-peer file sharing. Users are able to transfer one or more files from one computer to another across the Internet through various file transfer systems and other file-sharing networks. Peer-to-peer file sharing is different from traditional file downloading from a website server. In peer-to-peer sharing, you use a client program (not a typical web browser) to locate computers participating in the peer-to-peer networks that have the file or movie you want. Because these are ordinary computers like yours, as opposed to a traditional server, they are called peers. In a nutshell, a flexible peer-to-peer client program must offer the following capabilities with optional user configurable parameters:
a. You run a peer-to-peer file-sharing software on your computer and send out a request for the specific file or content you want to download. The request is typical a search word or a phrase, the partial name of a known file, or a mechanism that can uniquely identify the desired digital contents to download without having to rely on any additional information from any other sites. The BitTorrent peer-to-peer file sharing uses a small torrent file or simply a 20-byte hash code to uniquely identify the file on its network.
b. To locate the file, the software on your computer queries other computers that are connected to the Internet and running the file-sharing software using the same message protocols that your computer employs. There are two large BitTorrent networks: the mainline DHT and the Vuze DHT network. The mainline DHT can have more than several hundred millions of users worldwide at a time. The Vuze DHT network is a lot smaller but can also have millions of users at a time and offers much more relevant hits in terms of successful search.
c. When the software finds one or more computers that have either the complete file or parts of the file you want on their local storage, the download begins. The BitTorrent protocol breaks the file into many smaller chunks and the data transfer of these chunks can occur in any order. Therefore it is possible to download successfully a complete file from a group of computers that have only parts of the desired file. Many users abuse the transfer protocol by employing asymmetric transfer methods (receiving a lot more than sending) so the peer-to-peer file-sharing software must offer users customized means to balance, limit, or modify such transfer behavior.
d. Besides the visible Internet, the peer-to-peer file-sharing software must offer access to contents available on other invisible Internet networks such as I2P and the Tor networks as well as what other peers are currently downloading.