The Fundamental Trade-Off Between Scalability and Decentralization And Why I’m Focused On Bitcoin
A core principle in Bitcoin is that every participant keeps a copy of the ledger and is able to verify every change made to that ledger. Without this we must trust someone else.
Decentralization is not a binary value but more of a sliding scale. It’s closely related to the number of participants in a system that can keep a copy of the ledger and are able to verify it. More participants, more decentralization. Less participants, less decentralization.
Like decentralization, scalability is also not a binary value. In monetary systems like Bitcoin, most people refer to scalability in terms of the number of transactions it can handle per time period. The more transactions it can process per second, the more scalable the system.
So why the trade-off? Why does making a system more scalable often result in centralization? Why does making it less scalable make something more decentralized? It’s not exactly so cut and dry because there are different ways to achieve scaling.
We need to revisit the first tweet to really understand the problem. If every participant needs to keep a copy of the ledger and verify all changes made to the ledger then it means there is some baseline amount of storage, cpu, and bandwidth required to be a participant.
Storage is needed to keep a copy of the ever-growing ledger. Bandwidth is needed to receive all the ledger updates. Cpu is needed to verify the updates are valid. Therefore, the larger the ledger and the more updates made to it mean more resources are required to participate.
The more resources required to participate in a system translates to it being more expensive to participate. As the cost increases it excludes more and more people from being able to participate and reap the benefits of the system.
One way to scale is to simply increase the number of transactions that are allowed to be mined in each block. While this does increase overall throughput it also increases the amount of storage, bandwidth, and cpu required and thus the cost to participate in the network.
This is the fundamental trade-off between scalability and centralization. If your scaling solution requires more resources and thus more cost to its participants then fewer people will be able to participate. Fewer people participating means the system becomes more centralized
Bitcoin seeks scaling solutions that do not result in more resources being required to participate. This includes things like ledger update optimizations or minimizing the amount of duplicative tx information broadcast as part of block propagation.
This also includes solutions that move functionality to another layer. This is where the Lightning Network comes into play and why I am so excited about it. It removes the need for every update to be broadcast to and stored by every participant.
There are arguments to be made about how much decentralization is needed to maintain censorship resistance and that is another topic for another day. Bitcoin errors on the side of caution because we might only get one chance to get this right and don’t want to screw it up.
This post was created with Typeshare