It looks like the recent events with WikiLeaks and the fight over DMCA have provoked an incredible amount of new ideas in secure distributed computing. Basically it all comes down to the question of centralized maintainance and governance of the Internet or a decentralized and very possibly anarhistic one. Lately, I'm much more inclined to think the anarchistic future is not only better but probably also unavoidable.
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 :)