So, you wanna know what a DHT or a Distributed Hash Table is ? Ok! cool.
For you to understand a DHT you have to know what a Key-Value pair is. It is a way of storing data in a easily reference-able manner. Data is stored in the form of Key Value pair lists. Every List has only unique keys and for every key their has a value which could be anything. Example, for every Roll number in a class there’s a student’s name. A student’s name may be the same as another student’s but the Roll number can’t be. This is the idea. So as not to run out of keys, generally in the tech world keys are long strings of say 160 bits. So, there can be 2^160 different keys which is quite a big number.
In a Distributed Hash Table system of sharing data various nodes or machines participate. They share the Keyspace generated from 2^160 different keys’ set. That means if there are 2^160 keys possible, different keys are distributed among different machines and they act as the owner of that key. So, any data that is to be stored corresponding to that key is being sent to the machine that is the owner of that key and the data is stored there. This is done after the query of ‘who has the key?’ moves from one node to the other in the system till it reaches the destination. This is an interesting process and further details can be found in the wikipedia page about the same.