In the recent months, these things have happened on the global scale:
- WikiLeaks publishes the "insurance file" presumably as a form of dead-man-trigger scheme but in a novel and practically fool-proof scheme, distributing the (encrypted) file to thousands of users
- In the midst of releasing a large number of documents, it becomes a target of a DDoS attack, forcing it to move to a major "cloud provider"
- US Government seizes control over dozens of DNS domains of peer-to-peer sharint sites citing "willful copyright infringement" investigations
- An effort to create a peer-to-peer BitTorrent-based DNS service alternative begins
That last one is crucial, since DNS is practically the only single point of failure in an environment where p2p technologies take care of actual routing, using "normal" TCP/IP as a transport for their own overlay networks based on trackers and DHTs. But the second one, moving to a huge "cloud provider" could have been avoided if some of the P2P-like replacements for HTTP took hold.
Unfortunately (or fortunately), I think the basic issue for this effort would be centered on "trust". If every node is equal, there must be a mechanisam that enables every one to add its DNS-like entry to the system, but then: what's stopping anyone from "spamming" the system either by adding invalid data or by hijacking existing domains for their own purposes? For example, what would stop me from registering microsoft.com (or microsoft.p2p)?
There is, I think, only one trivial solution, and it's inpractical: using the first-come-first-serve principle for DNS entries, backed up by public key cryptography for signing subdomains (i.e. the top-level entry is signed, then all its subdomains need to be signed with the same key). This means that, i.e. if Microsoft doesn't register microsoft.p2p in time, it never will.
All other practical solutions must have some form of "root node" concept, which will be governed by a single entity which in turn arbitrate domain reservations and their validity - and this is fundamentally incompatible with the concept of p2p DNS.
Casting a look in my crystal ball, I predict that the future, if it gets even near to the p2p DNS model, will result in the shattering of the DNS system, with each shards having its own rules, and the choice of which to use will be reduced again to the question of trust. Will you trust the US Government-backed DNS system? Or the Japan-backed one? Or one of the undoubtedly huge number of independant "underground scene" shards, on different technologies and with different models of operation?
On one hand, it can end up in a kind of cyberpunk-ish dystopian future where residential users are simply using whatever their ISPs tell them to, while more knowledgable or more anarhistic groups use independant services, in an arms race with "the man" to develop ever more untraceable protocols.
Of course, we still need peer-to-peer HTTP :)
#1 Re: The fragmented future of the Internet - distributed p2p DNS?
You're going about this the wrong way, who says we need DNS at all? :) Most people access sites through search engines, domain names are largely for the technical literate or occasionally for old-fashioned billboards. I think the future is not having any domain name system at all, as that's what most people do now anyway. As for p2p HTTP, it'll never happen because the rough equivalent has already happened. Most content today is distributed through large-scale distributed networks like Limelight or Akamai already, only a few podcasters who don't want to pay don't use those. But the advantage of these CDNs is that the content is still controlled by CDN companies who the media companies have legal contracts with to stop piracy. The moment you start hosting the content with the end user, your content can't be controlled, which is why it'll never happen. Now, piracy still happens with CDNs and won't be solved by CDNs or DRM- we'll need another solution for that- but it would be worse with p2p used much more.