BitTorrent's DHT
en.wikipedia.org
en.wikipedia.org
[0] https://www.defcon.org/images/defcon-18/dc-18-presentations/...
Its main feature is that it has a full formal model written in QuickCheck to verify its integrity. That is, the dht code is simulated in a universe in which rarely occurring events are far more likely to happen.
I'd love to see more decentralized web apps built on similar technologies.
I had always simply assumed that since webtorrent works in the browser, the DHT it uses must also work in the browser, but apparently browser DHT support is still a work in progress: https://github.com/feross/webtorrent/issues/288
A multi-level namespace guarantees that if I manage to build a strong brand, I can continue to use it, creating sub-domains. The alternative being people buying up names to sell them later.
Example:
lbry://avengers
The first movie come out, makes a lot of success. A brand is built. One year later, I make Avengers II: lbry://avengers.ageofultron and so on.
But with one-level namespace, when avengers make success, people will buy all variants of it.
TL:DR Just let people buy namespace levels and do whatever they want with it.
It's basically bittorrent and its DHT, just named differently! (and without the added value of trackers)
It's a distributed filesystem. IPFS uses the DHT similarly to bittorrent, just to find peers. But there's much more to IPFS than DHT+torrent.
For IPFS:
ipfs add your_file
On the other computer
ipfs get $HASH_FROM_PREVIOUS_COMMAND
Done
It's basically just gopher and sgml, just named differently! (and without the added value of search)
But I'd bet you could store information in the DHT itself. Here's the issue: to store the information in the DHT you'd have to attach it to a torrent. To make it relatively persistent the torrent would have to be popular so that it will continue to be seeded and not disappear for a while (like a movie file or a popular music album). If you're doing that you might as well stick the info in the torrent itself instead of hacking it into the DHT. That's what torrents are for.
I suppose you could just keep your personal computer up and keep announcing, but then you are really just storing information on your computer and not really storing it in the DHT. Feel free to correct me if I'm wrong.
Basically it makes it a bit easier to layer your special application on top of the mainline DHT, help your peers find each other, and make it a bit easier to publish some metadata about your peers.
That way you can take advantage of millions of nodes in the DHT and not just the ones running your special application.
But if you need stronger guarantees or availability those should come from your application, not the mainline DHT.
I was thinking more about storing bigger amounts of data, and more cost-effectively. Of course you can't rely on having the data in DHT:s. That could be fixed with incentivization (paying btc for the nodes for storing your data).