Decentralization as a feature is multiplicative in nature. This creates a bottleneck where your network is only as decentralized as your least decentralized component.
Let’s take bitcoin, for example, there is one code-base that accounts for more than 90% of nodes. This implies any bugs in this codebase will affect a majority of miners. Whoever has control over this codebase can exert undue influence on the network.
Decentralizing the code component implies
- multiple source code-bases in multiple languages.
- multiple competing implementations that compete on features.
- Upgrades do not affect the majority of nodes, so the network is more resilient
- Difficult to keep track of which code-base has which features, and things like security become harder.
Block chain networks are only truly decentralized at the miner(and full node) level. The more decentralized this component becomes, the better co-ordination between nodes needs to get.
Decentralization at this level needs hardware improvements for mass appeal. Technically you can run a node on a raspberry pi, and there are solutions like Casa but these appeal to people in the decentralized everything group.
Token ownership is the most discussed component of decentralized networks. Decentralization here is often confused with distribution of ownership. This is because most blockchain network tokens are bearer instruments and voting is usually signaled by amounts of tokens pledged towards a decision.
Decentralizing ownership goes against a plutocracy emerging amongst holders of the token. This matters only in so far as ownership correlates with decision making power. So if there is a way to distribute decision making power separate from token holding, then decentralizing token ownership becomes easy.
A decentralized community is the most under-discussed component of a blockchain network. As people from various jurisdictions take part in blockchain networks, the pros and cons of each jurisdiction become apparent. The same applies to communities with different needs, any subset of the community should be able to get their needs met by the network.
This usually shows up as differences of opinion between sects of developers, or between developers and miners or between users and anyone else.
A first order, reaction to solve for disjointed community needs to fork the network. Forking and governance is a huge topic, and I will go into it deeper later.
No true decentralized scotsman
Arguing about the decentralized-ness of a network is rarely meaningful. As we now see that each sub component of a blockchain network can be decentralized to various degrees, its better to compare lines of control.
No true Scotsman, or appeal to purity, is an informal fallacy in which one attempts to protect a universal generalization from counterexamples by changing the definition in an ad hoc fashion to exclude the counterexample.https://en.wikipedia.org/wiki/No_true_Scotsman
What people mean when they say X network is more decentralized than Y is that there is some component which is more decentralized (along the sub-components own axis) than the whole network.
And like other appeals to purity, the decentralized frontier is always moving towards a never reachable asymptote of Full decentralization at each sub-component.