(Premise: I love decentralized systems.)
> A decentralized web would be vastly more efficient in terms of resources. A lot of the data could be deduplicated and a lot of backbone traffic could be avoided.
Decentralization usually brings more duplication of data. Think of email: copies of the same email are redundantly stored in many servers. And this is what we want. I have received the email, I decide if and when to delete it. Or Bitcoin. It is "decentralized", but if you want to run a normal client an be part of the federation you will need to spare quite a bit of disk space to store the exact same 90GB that comprise the blockchain.
> Right now, if a dozen people around a block watch the same viral video, all of them will fetch it through the backbone, which is obviously wasteful. If they want to store the video for later, they will have a dozen copies wasting space on their drives, which could again be reduced by more efficient algorithms (eg. erasure codes).
At the same time we do not want people to know that we are watching this video. We can get that video from our neighbors only if the ID of the video leaks somehow (if you reply "TOR", I will answer "exit nodes know"). But that is just a side problem.
The main problem is dynamic content. Almost all my open browser windows contain pages that are generated "just for me" (github, gitlab, travis, HN, a work-related 2TB ownclound installation, amazon, google search, ...). These are the pages I care about, and, sadly, these are the pages that are most difficult to decentralize in acceptable ways. Actually some of them are meant to be centralized (amazon or google search, for example).
I'd love to see more decentralized or semi-decentralized services (planets and their OPML files are great, for instance), but one has to admit that some problems just ask for centralization.
PS: weird, I had to write "google search" instead of "google". Using just the word "google" felt somehow wrong. Brand dilution, I suppose.