>
replacing HTTP URLs for naming content is necessary and nearly sufficientIt depends what you replace them with. I quickly skimmed your essays looking for any proposals, but didn't quite see anything.
The obvious thing is Freenet-style public signing keys, but while this helps decentralize distribution (a boon to a person who wishes to publish anonymously - upload and run), the standard centralized naming hierarchy will form, at least for introduction.
The well-known "HNS" /com/ will just be 8b844459891e8f1840bfc4200e758483 instead of the DNS 192.5.6.30 (a.gtld-servers.net). Likewise, after introduction a discussion board would be known as 659f177ebea794e4e74f0708d832f65e (even if it is Petnamed) instead of news.ycombinator.com.
Public signatures are simply one layer and not the full solution, in the same sense that hash trees of immutable content are only one part.
What is important is forking, which relies on the ability for differing forks to be intelligently reconciled in an automated fashion. I should be able to use a version of "HN" where a specific user is/isn't banned, and still communicate with you (presuming that you want to, rather than whoever is running the popular "HN" aggregation node), even if you yourself are using a third version.
I think it ultimately comes down to the data model supporting some concept of "merge points" rather than strict top-down immutability/persistence. With these merge points and rules specified by the endpoints' schemas according to the users' desires. But it's awfully hard thinking about this stuff since I also keep seeing how any specific approach can calcify and turn into similar prescriptive monoliths as we have today.