Ask HN: Struggling to Understand DHTs – Any Good Resources?
6 days ago
I am studying distributed computing and struggling to understand how Distributed Hash Tables (DHTs) work. Can you recommend any resources, such as books, articles, or anything else, to help me?
Read the research paper about the Chord algorithm: https://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigc..., then implement the algorithm on your own (paper contains pseudo code).
Or start here, generally read high level details about the algorithm: https://en.wikipedia.org/wiki/Chord_(peer-to-peer).
So cool to read this, it is how i started!
I second this advice. Chord is a very good place to start
The most widely used DHT is Kademlia from Petar Maymounkov and David Mazières. It is used in Ethereum, IPFS, I2P, Gnutella DHT, and many other applications.
https://en.wikipedia.org/wiki/Kademlia
https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia...
https://web.archive.org/web/20120128120732/http://www.cs.ric...
If you scroll to the bottom, I've a linkdump worth considering: https://h0p3.nekoweb.org/#Outopos%3A%20DHT
Here is an description for the BitTorrent DHT
https://stackoverflow.com/questions/1332107/dht-in-torrents#...
The link one answer down is more explanatory
https://wiki.theory.org/BitTorrentDraftDHTProtocol
https://blog.anacrolix.link/posts/how-not-to-implement-a-dht...
Also understand how they can be used for unique hard to detect "Scams" like MaidSafe. "We came up with a brand new amazing way to dht! like ants!"
This all sounded technically interesting and useful, and only after ingesting huge amounts of all the technical details do you realize the whole plan was to force everyone to re-write all internet applications over again (dumb) and then it evolved into some slow scam where after 10 years or something they pretend its still being worked on, but nothing ever finishes.
No, that's because DHTs already work but nobody actually wants them. Then you pretend there's a technical reason to work on DHTs more because you can't deliver your main product.
[flagged]
Please, please avoid recommending LLMs for problems where the user cannot reliably verify it's outputs. These tools are still not reliable (and given how they work, they may never be 100% reliable). It's likely the OP could get a "summary" which contains hallucinations or incorrect statements. It's one thing when experienced developers use Copilot or similar to avoid writing boilerplate and boring parts of the code - they still have competence to review, control and adapt the outputs. But for someone looking to get introduced to a hard topic, such as the OP, it's a very bad advice as they have no means of checking the output for correctness. A lot of us already have to deal with junior folks spitting out the AI slop on a daily basis, probably using the tools they way you suggested. Please don't introduce more of AI slop nonsense into the world.
This is getting downvoted but I would also recommend it. It's much faster than reading papers and, unless you are doing cutting edge research, LLMs will be able to accurately explain everything you need to know for common algorithms like this.
It's getting down-voted because it is a very bad advice, one that can be refuted by already known facts. Your comment is even worse in this regards and is very misleading - the LLMs are definitely not going to "accurately explain everything you need to know", it's not a magical tool that "knows everything", it's a statistical parrot which infers the most likely sequence of tokens, which results in inaccurate responses often enough. There is already a lot of incompetent folks relying blindly on these un-reliable tools, please do not introduce more AI-slop based thinking into the world ;)
3 replies →
It's getting downvoted because it's the equivalent of saying "google it".
3 replies →