Why does everything have to be built on top of HTTP? Sure, I know you're going to say, because it works, and works well that's why.
But think about it. The reason why we have all these centralized services in large part is because of HTTP. HTTP has made it really easy for someone to build a centralized service, or application, like Facebook or Twitter. Before the days of HTTP, if I wanted to build a service, I probably would invent a protocol like Telnet, Gopher, SMTP, IRC etc., which is often naturally decentralized, instead of programming a web application.
Perhaps if we want more decentralized services, we should focus on frameworks that make it easier to construct TCP/UDP based protocols.
Just a thought.