Questions tagged [dht]

A Hash Table is a data structure used to store data in the form of Key=>Value pairs. A Distributed Hash Table (DHT) is basically a hash table distributed across a network of computers(nodes). A DHT uses a Routing Protocol to determine which node to store a piece of data on.

A distributed hash table (DHT) is a class of a decentralized distributed system that provides a lookup service similar to a hash table; (key, value) pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. Responsibility for maintaining the mapping from keys to values is distributed among the nodes, in such a way that a change in the set of participants causes a minimal amount of disruption. This allows a DHT to scale to extremely large numbers of nodes and to handle continual node arrivals, departures, and failures.

A DHT uses a Routing Protocol to determine which node(s) a data should be stored on. This routing protocol usually takes care of replicating data and also updating data stores to make sure that the data survives on the DHT for the long term. Some popular routing protocols are Kademlia, Chord and Pastry

275 questions
5
votes
2 answers

Hello World for an existing DHT

I am familiar with the theory of how a Distributed Hash Table (DHT) works. Is it possible to write a program that stores data to an existing DHT (such as Kademlia or Mainline DHT) ? Is there a simple 'Hello World' type of program that would show the…
Liam
  • 19,819
  • 24
  • 83
  • 123
5
votes
1 answer

How Kademlia tree of nodes relates to the infohash of a torrent file?

I'm trying to understand how Kademlia works in regards to finding a resource. There is pretty good description of now to build a node tree which is closest to the self node, how to find the distance between nodes, how to initiate the process etc.…
alex.49.98
  • 609
  • 5
  • 13
5
votes
1 answer

What happens to data when a node dies in a DHT?

Question Taken from here: https://groups.google.com/forum/#!topic/byu-cs-460-computer-networking/hpESI0NapmY "I was thinking about how Distributed Hash Tables store data. I understand that each node is given an identifier and that the data is then…
5
votes
1 answer

Does every peer need to be a node in BitTorrent when DHT is enabled?

Does every peer become a DHT node every time it requests peers for a particular file? or do nodes exist independently of peers? in essence, how do you become a node? can you be a peer but not a node? I'm sorry if the question is too simple (noob…
4nt
  • 407
  • 2
  • 9
5
votes
2 answers

users authentication and dht

Lets say that I have only DHT (distributed hash table) implemented (in Python), and I want to build authentication service over P2P network, but without introducing centralized authentication server with such a service. Can it be done, and if so how…
mtasic85
  • 3,905
  • 2
  • 19
  • 28
5
votes
4 answers

Persistent Binary Tree / Hash table in .Net

I need a pure .Net persistent hashtable/binarytree, functionally similar to berkeley-db Java edition. Functionally it should opperate in a similar maner to a DHT such memcached and velocity etc but it doesn't have to be distributed. In essence I am…
Kinlan
  • 16,315
  • 5
  • 56
  • 88
4
votes
2 answers

Chord protocol. Distribuited Hash Table (DHT). Peer to peer. (P2P)

I'm trying to implement this protocol: http://en.wikipedia.org/wiki/Chord_(peer-to-peer) What i understood from it is that each node that joins the "circle" is placed in a random place inside the circle, depending on it's hashed IP+port value. But…
AndreiBogdan
  • 10,858
  • 13
  • 58
  • 106
4
votes
1 answer

Is it allowed to run several different DHT nodes behind the same ip:port pair in Mainline DHT?

Is it allowed to run several different DHT nodes behind the same ip:port pair in Mainline DHT? And which node should reply on the DHT query message? All or one of them? Thank you in advance.
Art Spasky
  • 1,635
  • 2
  • 17
  • 30
4
votes
1 answer

How does DHT work?

I grabbed the basic idea about DHT from wiki: Store Data: In a DHT-network, every node is responsible for a specific range of key-space. To store a file in the DHT, first, hash the file's name to get the file's key; second, send a message put(key,…
Alcott
  • 17,905
  • 32
  • 116
  • 173
4
votes
1 answer

Why DHT can't find resource when to download with a trackerless torrent?

Please do as i do in your vps and then maybe the issue reproduced,replace the variable $vps_ip with your real vps ip during the below steps. wget …
showkey
  • 482
  • 42
  • 140
  • 295
4
votes
2 answers

bittorrent DHT detailed specification

In my new weekend project I decided to write an bittorrent client from scratch, no ready to use libraries at all. After two days looking for documentation I'm already about to give up :smile:. I know there are the BEPs, but they are far from enough…
Gustavo Vargas
  • 2,497
  • 2
  • 24
  • 32
4
votes
1 answer

How does 'distributed tracker' concept work in Bittorrent DHT?

I have read Kademila spec and DHT BEP for Bittorent but still can't understand how DHT makes trackerless torrents reliable. My understanding of routing procedure is: Node (say A) picks node with id closest to infohash of torrent from its routing…
Maciek T
  • 43
  • 1
  • 2
4
votes
2 answers

How to pull the torrent file from DHT?

I wrote a simple script that finds out example peer IPs for a given info_hash. I can't see this kind of information in BEP-0005: how do I actually pull the torrent file from the DHT?
d33tah
  • 10,999
  • 13
  • 68
  • 158
4
votes
1 answer

What's the difference between PEX and DHT in the BitTorrent protocol?

If I understand correctly, the purpose of both PEX and DHT is to find other peers in the swarm. So why are both needed? Thank you
multigraph
  • 51
  • 1
  • 7
4
votes
1 answer

How does Kademlia/DHT get the node ID and update the peer leaving the swarm?

I've read the paper-Kademlia: A Peer-to-peer Information System Based on the XOR Metric. but i still have 2 questions. Q1:How does a node get its node id? BEP5 says: Each node has a globally unique identifier known as the "node ID." Node IDs are…
1 2
3
18 19