You think you're joking, but peer-to-peer, capability-based distribution is the future of web design. Federation protocols (like ActivityPub, on which run Lemmy, Kbin, Mastodon, et. al.) are a big step up from single points of centralization like Reddit and Twitter, but most implementations are still fundamentally client/server architectures which give server owners power over users. Some of the people who invented ActivityPub have already moved into a new phase of distributed systems architecture. "Second-party" is not a terrible way to think about it.
WASM (WebAssembly) is one of the key technical breakthroughs that will facilitate much richer distribution; it allows many languages to run natively (fast) in common browsers. No longer will we all be necessarily bound to the abomination that is Javascript. With WASM, backend guys like me can run our fancy languages/databases right on your browser, building stronger meshes of user computers acting like lighter versions of federated servers. Together with Free Software ─ the legal right to share and change code ─ this technology represents the democratization of the Internet.
So why hasn't this glorious revolution happened already? Well, WASM support is still not ubiquitous and there are still serious architectural challenges whose solutions are very much in progress. Security is a big one. With centralized infrastructure, the most efficient way to handle security is a concept called ACLs (Access Control Lists), which are like firewalls ─ lists of rules for who can do what. With ACLs, each node has all the tools and a copy of the rules. This does not work when you want powerful nodes to run independently under the control of complete strangers.
The way forward is Capability-Based Security, which includes three big ideas:
Each node has only the tools that it needs.
When a node needs a new tool, it has to ask its neighbors to borrow it.
Just because a node is borrowing a tool doesn't mean it can share it with others.
Cryptographically-enhanced capability-based security makes the computational power of individual nodes irrelevant to their role in the larger system. WASM contains an implementation of this idea ─ it's called WASI (WASM System Interface) ─ but there are different approaches with different tradeoffs. The one I'm studying right now is called Spritely Goblins, developed by some of the people who invented ActivityPub. You can read more at https://spritely.institute.
I'm curious about political implications of these technologies. Current centralized internet is very compatible with both neoliberal governments and right-libertarian tech guys and corps who run it. A more decentralized internet would likely be both harder to control and to profit from.
Well pardon me if I politically digress in the LOTR memes group, but it might get worse before it gets better. Encryption, for example, is an inherent existential threat to authoritarianism, and there is global bipartisan support for law which would (or already did) criminalize it under broad or subjective circumstances. The exponential growth of industry puts massive economic strain on political systems, and those explicitly designed to be procedurally overthrown (via representative democracy, for example) may adapt by creating unconstitutional political tokens such as, just off the top of my head, internal revenue systems designed to destabilize opponents' campaign finance systems, aggressive zoning practices intended to control demography, and deficit spending courtesy of international geopolitical entanglement backed by informally declared unconventional warfare.
It's irrational to refrain from criticizing the left wing, which, in the US, supports all of the above practices when the White House is blue. So does the right when it's red. We have to get past this shit. Industry exacerbates otherwise manageable resource asymmetry. We need to put our cultural differences on hold while we purge the bias and clientelism from our internal revenue systems. Only then will this pressure to enforce subjective values subside to a level where it can be managed by individuals and their technology.