Kademlia
Kademlia is a distributed hash table for use with peer-to-peer (P2P) file sharing networks. Information is sharing through node lockups in a decentralized fashion. Each node has a Node ID or a number to serve as identification and also to locate values like file hashes or keywords. With file sharing networks, the system works well, allowing users to easily search for and find file information through searching.
Since it is decentralized, there is no server or node that hosts an entire file list. Instead, this task is carried out by the clients on the network. When a file is shared, the node will process it and calculate a hash that will allow it to be identified on the network. The Node ID and hash are the same length. It then informs several nodes who's ID is close to the hash along with the source IP address. File hashes are quite often obtained from Internet forums that facilitate the use of the Kademlia network.
Filename searches are carried out using Keywords, which are hashed and stored in the network with the corresponding filename and file hash.