Peer-to-peer file sharing became popular with the introduction of Napster, a file sharing application and a set of central servers that linked people who had files with those who requested files. The central index server indexed the users and their shared content. When someone searched for a file, the server searched all available copies of that file and presented them to the user. The files would be transferred directly between the two private computers. A limitation was that only music files could be shared. Because this process occurred on a central server, however, Napster was held liable for copyright infringement and shut down in July 2001. It later reopened as a pay service.
After Napster was shut down, the most popular peer-to-peer services were Gnutella and Kazaa. These services also allowed users to download files other than music, such as movies and games.
Napster and eDonkey2000, which both used a central server-based model, may be classified as the first generation of P2P systems. These systems relied on the operation of the respective central servers, and thus were susceptible to centralized shutdown. The second generation of P2P file sharing encompasses networks like Kazaa, Gnutella and Gnutella2, which are able to operate without any central servers, eliminated the central vulnerability by connecting users remotely to each other.
The third generation of filesharing networks are the so-called darknets, including networks like Freenet, which provide user anonymity in addition to the independence from central servers.
The BitTorrent protocol represents a special case. In principle, it is a filesharing protocol of the first generation, relying on central servers called trackers to coordinate users. However, it does not form a network in the traditional sense. Instead new, separate networks of coordinating users are created for every set of files, called a torrent. Newer extensions of the protocol removes the need of centralized trackers, allow the usage of a decentralized server-independent network for source identification purposes, referred to as the Mainline DHT. This allows BitTorrent to encompass certain aspects of a filesharing network of the second generation as well. Users create an index file containing the metadata of the files they want to share, and upload the index files to websites where they are shared with others.
Peer-to-peer file sharing is also efficient in terms of cost. The system administration overhead is smaller because the user is the provider and usually the provider is the administrator as well. Hence each network can be monitored by the users themselves. At the same time, large servers sometimes require more storage and this increases the cost since the storage has to be rented or bought exclusively for a server. However, usually peer-to-peer file sharing does not require a dedicated server.