The difficult part is that you as a node in this overlay network may be requesting a document that only one other node has, and you have to trust that node. The other part is that different nodes will have cached the URL you're requesting at different times. How do you prevent lying nodes being taken seriously?
As for sharing edits to documents, that's probably best done as a premeditated thing with people you know, which is where merkle trees'll be useful for verification.
Comments
I had an idea for doing exactly this in 2011 when domain names were being seized for censorship.
So far this thing: https://github.com/LukeB42/Uroko/tree/development implements a collaborative page editor. All it needs is a gevent-based implementation of Kademlia.
The difficult part is that you as a node in this overlay network may be requesting a document that only one other node has, and you have to trust that node. The other part is that different nodes will have cached the URL you're requesting at different times. How do you prevent lying nodes being taken seriously?
As for sharing edits to documents, that's probably best done as a premeditated thing with people you know, which is where merkle trees'll be useful for verification.