0

https://en.wikipedia.org/wiki/Chord_(peer-to-peer)

I've looked into Chord and i'm having trouble understanding exactly what it does. It's a protocol for a distributed hash table which stores various keys/values for later usage? Is it just an efficient way to look up in the hash table what value for a given key?

Any help such as a basic example would be much appreciated

Jackson Collins
  • 110
  • 2
  • 10
  • To avoid providing redundant information, please explain which part of the wikipedia articles are unclear and don't answer the questions on your mind. – the8472 Apr 27 '16 at 12:47
  • I'm just having trouble understanding what each peer is supposed to hold, a finger table based on the next predecessor and successor but does it hold all values that are inserted at the hashed key or just one instance? An example question is say if I hashed inserting string "Hi" to 3 and there were no peers at 3 it would go to the next available peer and store it there right? Or where does it store it's values to? – Jackson Collins Apr 28 '16 at 02:49

1 Answers1

0

An example question is say if I hashed inserting string "Hi" to 3 and there were no peers at 3 it would go to the next available peer and store it there right? Or where does it store it's values to?

I already answered a similar question for bittorrent/kademlia, so just to summarize in a more general sense:

DHTs store the values with some redundancy on N nodes whose ID is closest to the target hash.

Considering the vastness of >= 128bit keyspaces it would be extremely unlikely for nodes to exactly match the key. At least in routing schemes where nodes don't adjust their IDs based on content, and chord is one of those.

It's pretty much the same as regular hash tables, hence distributed hash table. You have a limited set of buckets into which the entries are hashed, where the bucket space is much smaller than the potential input keyspace and thus does not precisely match the keys either.

Community
  • 1
  • 1
the8472
  • 40,999
  • 5
  • 70
  • 122