Let me try to explain it again. The idea of content base key is strongly narrowing the application domain of the system. Modifying your information (I.e. typo correction) invalidates all the keys. More precisely, people holding the old key won't be able to access the corrected information. of course this model fails completely with dynamic data.
The other problem that is often overlooked with such idea is the function that translate your key into the location of the information. That is: determine the IP address of the server(s) hosting the information from the hash key of it. One needs something like a distributed index for that. Don't use an algorithm because you don't want to add the constrain that your informations can't be moved or replicated.
Another problem is staying in control of your information. An owner of information want to be able to fix or modify it, or delete it when he wants.
Finally, another naive idea is sharing a distributed storage. This is a nice idea but it simply doesn't work. Some People will abuse it. To avoid this you need a system to monitor and control usage. Accounting ? good luck. By the way, this is the problem of Internet today. It is a shared resource, but a few are consuming a hell lot of it and earning a lot of money without sharing back the profit. I'm looking at you google with YouTube.
I'm thinking and working on this problem for a long time. My conclusions are :
1. Decouple keys from content
2. Make the distributed locating index your infrastructure
3. Optimize keys for index traversal
4. Owner of information must stay in control of Information
5. Owner of information must assume the cost of hosting