4 ms·
Could this DHT be used to store _any_ content?
by jerguismi 11y ago
Could this DHT be used to store _any_ content?
- olympus 11y agoYou're probably better off using the BitCoin blockchain (which is a distributed network). It's well documented that you can include data in BitCoin transactions and pretty secure. 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.
- sliken 11y agoFirst blockchains are slow. Second you can put things in the DHT without having anything to do with a torrent.
- thisisrobv 11y ago+1 not sure where "to store the information in the DHT you'd have to attach it to a torrent" comes from.
- olympus 11y agoIt comes from the fact that the Mainline DHT is specifically about BitTorrent nodes and who has which torrents. The client programs don't just pass information around willy-nilly.
- olympus 11y agoYeah, but if other nodes aren't passing it around it won't get distributed right? The client nodes aren't passing around information for more than 10 minutes unless they have a good reason (aka announcing torrents) so it will die out pretty quick and thus not be good for storage? 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.
- Torgo 11y agoWell, as I understand, the tradeoff is that with BEP44 you don't have any storage or retrieval guarantees, and the data is purged a couple hours after nobody's asked for it.
- sliken 11y agoAgreed. It makes it a bit easier to do something like publish your public key and have it available not just when intermittenly online, but somewhat longer. 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.
- jerguismi 11y agoBitcoin blockchain makes sense only for content which I want to store on 5000+ nodes - it is not very cost effective. You can store 40 bytes of data in one OP_RETURN transaction. 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).
- sliken 11y agoYes, http://www.bittorrent.org/beps/bep_0044.html http://www.bittorrent.org/beps/bep_0044.html
- jerguismi 11y agoAwesome, have to research this more.
- LukeB42 11y agoThese DHTs are also designed to store _any_ content: https://github.com/LukeB42/Uroko https://github.com/LukeB42/Uroko https://github.com/ipfs/go-ipfs https://github.com/ipfs/go-ipfs
- sliken 11y agogo-ipfs uses a DHT, but it's not just a DHT. Nor does it actually store files in a DHT. Finding peers with a give file (named by hash) uses the DHT. But the files are stored outside the DHT.