Distributed Hash Tables (DHT)
Distributed Hash Tables (DHT)
Posted on 26 Apr, 2022
DHT Structure
Components include:
A keybase which is a set of 160 bit string
A
partition()
is applied over this keybase to distribute ownership among participating nodes in the DHT. Following hash functions are usedConsistent Hashing, or
Rendezvous Hashing
Each node in the network is a skip graph
DHT Read/Write Flow
Generate hash (e.g SHA-1) for a given file, which gives us a 160 bit key, k
Send message
put(k, data)
to any node in DHTThe message is passed from node -> node until it finally reaches to the node responsible for key
k
This node stores the data and the associated key, k
Now any client can request to read this data by generating the hash again which will again produce key, k
Send message
get(k)
to any node to read data.
Q/A
Generate similarity score b/w 2 hashes
Where exactly keybase partitioning takes place? Or Who decides to partition the available keys?
Last updated