8 ms·
(Not an expert at all! Just guessing at this and mentioning some stuff from memory... someone please correct me if any of this is totally wrong, which it might
by solardev 3y ago
(Not an expert at all! Just guessing at this and mentioning some stuff from memory... someone please correct me if any of this is totally wrong, which it might very well be.)
It's not super clear to me how this is different from content-addressable networking/storage/routing (https://en.wikipedia.org/wiki/Content-addressable_storage https://en.wikipedia.org/wiki/Content-addressable_storage) like in the IPFS: https://en.wikipedia.org/wiki/InterPlanetary_File_System https://en.wikipedia.org/wiki/InterPlanetary_File_System. I think Freenet uses something similar: https://en.wikipedia.org/wiki/Freenet https://en.wikipedia.org/wiki/Freenet
I believe DHTs are a similar abstraction over IP networks (https://en.wikipedia.org/wiki/Distributed_hash_table https://en.wikipedia.org/wiki/Distributed_hash_table), used widely in Bittorrent now or the defunct CoralCDN.
I think the reasons those systems "failed" (or didn't hyperscale) is that they mostly address niche needs, and also make prevention of undesirable materials (child porn) difficult.
In a world of IP laws, corporate data centers, and finite resources, having a 1:1 mapping between a "host" and some sort of "owner" is very useful. For the stuff MOST people want (the latest TV shows, video games, music), the commercial CDNs work well enough, at lower latency, and with high reliability. Those systems map cleanly and easily onto business relationships, with customers paying content producers who in turn pay hosts.
For the niche stuff, whether legal or not, distributed storage where "content" is spread across many hosts owned by different people makes distributing the responsibilities and costs very difficult. For popular torrents that everyone wants to download and seed, that's not so much an issue because there are thousands of copies floating around. But for the less-popular stuff, not having a permanent addressable host means that any bit of content always has the risk of disappearing. You can work around that by having always-on servers/seedboxes, but then you could've just used their IP address to begin with in a DHT. I think the content-addressed systems (IPFS, Freenet, etc.) historically tended to suffer from a lack of critical mass, not enough of a network effect where the network was actually useful for most people. So they end up primarily sharing pirated goods and child porn, which in turn means fewer people are willing to participate (for fear of getting implicated in some dragnet or another). I guess in a way crypto systems and blockchains are similar in that they're interesting in theory but have little real-world usefulness, so tend to attract the dredges.
IMO these systems just don't solve real-world problems that most people have. And their solutions actively interfere with day-to-day commerce and blur the lines of responsibilities and budgets for content hosting, making commercial uptake harder. That doesn't completely stop their use (like some game patchers used to use Bittorrent and DHTs before CDNs became really cheap, and Cloudflare still has their IPFS gateway), but those mainly seem like experiments to me and not popular use cases.
- cheekygit 3y agoThanks for the detailed answer. You brought up some great points counterpoints to using NDNs. It was difficult to search for any direct criticism under the term NDN. You are right that NDN being a P2P-based architecture suffers from the same caveats of other P2P networks.