If you want everything to be decentralized it will always be a pain in the ass and have way more friction compared to a centralized alternative even if it's pretty easy in absolute terms.
True, but it's way easier to add centralization to a system that is decentralized by nature than it is to somehow decentralize something that is centralized by nature.
Decentralization is hard because centralization is so easy.
The downsides of centralization are mostly longer-term issues like moral hazard, privacy, cost of scaling, and robustness, and those can be ignored for a while. Up front centralization is incredibly easy to reason about and deploy while the costs can be ignored for a long time.
Markets optimize for cost and efficiency now, not later. It's the same reason things like climate change or the eventual danger of fossil fuel depletion are ignored by the market. They haven't happened yet. Centralization is cheap coal; decentralization is solar power and batteries. Pay later vs. pay now. Pricing signals and markets are great optimizers but they have very little foresight and can't consider issues that can't easily be priced.
As a result even if a system is designed to be decentralized, centralization will usually start creeping in. It starts at the edges with convenient SaaS APIs, value-add services like search and filtration, and dashboards and moves inward from there. Eventually the entire system is embraced, extended, and extinguished. It doesn't matter if anyone planned it this way. It happens organically because centralized systems are cheaper and easier to build and can iterate fast.
The last part, fast iteration, is massively important in today's fad-driven hyper-accelerated shifting sands software market. If something can't iterate fast the sand will get washed out from under it and it's dead.
Users largely don't care whether something is decentralized or not. They care if it works. It's proven easier to deliver things that work well using centralized systems. This if for entirely pragmatic engineering reasons like the difficulty of distributed consensus.
> Centralization is what makes better usability possible.
I disagree with this premise.
There's less opportunity for monetary gain, so less effort has been invested in decentralized systems.
I don't think it's an actual inherent technical limitation of decentralized systems. In fact decentralized systems promise many technical benefits. Of course there are also challenges, but in my opinion, not insurmountable ones.
We still have huge user experience issues with decentralized systems which make it more awkward for the average person. It's sad, because I (like most programmers) want a distributed system, but it's rather hard to get it right.
Yep, decentralized is really nice and would be perfect if everyone just did it, but it's never going to happen so the only model that can have a reasonable chance to take the place of centralized systems is a federated one. It removes all the burden of installation, administration, safeguarding, scaling, etc from the users.
The average person prefers convenience over decentralization because ‘it just works’. Decentralized services right now are slower and harder to use so I don’t see it take off until the usability and performance becomes just as comparable to centralized services
Things used to be decentralized well when I think back to the early days of the internet. When I think about why, its because links were expensive or unreliable - what centralization brought was a kind of predictability and ease of use. The challenge for new decentralized systems to address I think is to offer a similar level of convenience as the centralized systems. Just being decentralized doesn't seem enough.
To me, decentralization isn't just about avoiding control. I think that the network effects that decentralization yields are the only way to compete with an established network. It's hard to get people to agree on which centralized alternative to use, but if structured correctly, there can be just one decentralized alternative with several benevolent forks with different features, but a shared data store. No one's in control, and everybody wins.
That's because decentralizing this system would make it crazy inefficient, which is why I think it's a good example - the benefits of centralization are somewhat obvious here.
The problem is psychological, not technical.
reply