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
2
votes
1 answer

Remove bootstrapped peers from DHT

I am using golang-libp2p in my project where I am using Kadmelia DHT for peer discovery. I can access info of bootstrapped peers in the following manner. import ( "github.com/libp2p/go-libp2p/core/peer" ) for _, peerAddr := range…
2
votes
0 answers

How do I set up and run my own delegated routing node in IPFS?

I have done some research on js ipfs to realize that, by default, my local ipfs node does not use DHT based queries to fetch files with CIDs nor propagate my local DHT to other connected peers once the local node downloads the file. Instead it makes…
lucidcloud
  • 73
  • 6
2
votes
1 answer

What is the role of the BitTorrent Mainline DHT routing table in peer lookup requests?

As I understand the first lookup request is sent to the node which is the closest one in the routing table to the info hash of the torrent During the process of peer lookup I can receive many nodes. When I perform next peer lookup can I start peer…
Art Spasky
  • 1,635
  • 2
  • 17
  • 30
2
votes
1 answer

How does the s/kademlia sibling list work?

i am studying p2p network recently. when i was reading the s/kademlia paper, i found that the sibling broadcast related content is not detailed enough. here is my question: how the sibling list works? how can it solve highly unbalanced tree…
2
votes
1 answer

IPNS name published in browser with js-ipfs won't resolve on gateway or local node

I am working on a browser application which uses js-ipfs. After I publish an ipfs address (e.g. /ipfs/Qm...), I successfully get the returned name (i.e. /ipns/Qm..). But the problem is that I can't resolve it anywhere else (local node's gateway,…
ajaleksa
  • 324
  • 1
  • 6
  • 20
2
votes
0 answers

Where can I find a bitmap for the part of the DHT that my node stores on the hard drive

So there must be some information that a node providing DHT support must store or the hard drive. What exactly is stored? For example, here is a Here is a Bitmap for a bitcoin trasaction. Is there something similar for the stored part of the DHT?
2
votes
1 answer

How do you prevent DHT spill with Bittorrent?

I have a small network that I want to serve with a Bittorent tracker. It's important, though, that information shared in this network doesn't accidentally spill out with Distributed Hash Tables, allowing unknown peers to accumulate. I have at my…
Michael
  • 21
  • 1
2
votes
3 answers

DHT Node ID Generation?

I just start studying DHT implementation and theory and stuck on on part, how generates node id when node startup and connect to network. I read that ID is random hash from some hashes range but, is it unique hash? and is hash generates close no the…
lebron2323
  • 990
  • 2
  • 14
  • 29
2
votes
1 answer

In holochain-rust what is the best way get and show a list of all users?

I am wanting to show a list of all users for a particular app in holochain to enable an active user to make an agreement with someone. What is a best practice for getting a list of all users given the linking nature of the data flow? Would it…
2
votes
1 answer

DHT InfoHash Lookup sequence. PeerID vs InfoHash

I know there is a previous question about this somewhere on SO, but I cannot find it again. The relationship between NodeId and InfoHash. Is the following diagram roughly correct? Background (no need to read) I'm trying to implement my own…
Richard
  • 1,070
  • 9
  • 22
2
votes
2 answers

dht find_node no response

I'm writing a dht server and meet some problem. I send the find_node request to bootstraps, and they return me some compact node info(416bytes) which contains 16 nodes info then i bdecode and store the ip address and port, continue send find_node…
ahcha.Z
  • 23
  • 4
2
votes
1 answer

Chord Join DHT - join protocol for second node

I have a distributed hash table (DHT) which is running on multiple instances of the same program, either on multiple machines or for testing on different ports on the same machine. These instances are started after each other. First, the base node…
Frederik
  • 185
  • 1
  • 20
2
votes
1 answer

Query DHT for the total number of active peers

Assume there is a P2P file sharing system which has no trackers but only a DHT. How to know the number of all active peers uploading/downloading a specific file? Is it just keep querying the DHT by get_peers to get new peers? Are there any better…
s9527
  • 414
  • 1
  • 4
  • 14
2
votes
1 answer

searching a given target, how to widen the search?

Given the target id x...19x, lets consider the program runs the recursive query, builds a table, once no more nodes are left to interrogate, it finds out a situation where the closest resulting nodes are less than 8. How could i widen the search so…
user4466350
2
votes
2 answers

Send DHT queries to "router.bittorrent.com" response garbled text

I read the DHT Protocol in bep_0005 page. But when I send a ping query or a find_node query, the server response a garbled text (both of router.bittorrent.com:6881 or dht.transmissionbt.com:6881) Here is the Java source code bellow public String…
fish
  • 2,173
  • 2
  • 13
  • 18