|Page Name:||Experiment: mmmv_dht_t1|
Currently this document is being edited.
The "dht" in the mmmv_dht_t1 stands for a "distributed hashtable".
Currently this specification lacks any code.
Node IDs are rational numbers. There is a set of central nodes that keep their states synchronized. The URLs or IP-addresses or IP-address analogues(hereafter: node_address) of the central nodes are pre-determined, fixed, stored with the dht software. Storage nodes generate their IDs themselves, preferably randomly, and contact at least one of the central nodes every time they, the storage nodes, boot up and join the network. The central nodes assign each storage node a set of rational number ranges that include the IDs of the nodes that act as mailboxes for storing the "letters"/messages that are sent to the storage node. The central nodes can change the announced ranges any time, preferably as seldom as possible. The central nodes answer queries about which storage node ID resides at which node_address. The central nodes answer queries about which node ID ranges contain storage nodes that act as the mailboxes for a storage node with a given node ID. All data acquired by querying the central nodes can be shared between storage nodes directly.
Countermeasures to Lying Nodes
- Chord Distributed Hashtable Algorithm
- Kademlia Distributed Hashtable Algorithm
- The Byzantine Generals Problem