Decentralization, by definition, is the process of distributing and dispersing power in a system so that we don’t have to rely on a central authority to make decisions. It has become one of the main factors for evaluating blockchain systems.
When we compare the level of decentralization of different blockchain systems, we have to put it in the context of the decision-making power in the systems. There have been many misleading statements about blockchain decentralization without a proper context and this article is aimed to address this problem by breaking down the decision-making power in a blockchain system.
Note that I will focus on the blockchain system itself rather than the ecosystem built around it. Therefore, the decentralization of blockchain governance will not be discussed in this article.
The ultimate goal of a blockchain system is to maintain the consistency, availability and operability of a global ledger without relying on any central authority. To achieve that, there are basically two categories of decisions that are made in the system:
Protocol-level decisions — these are the decisions that are automatically made by the set of protocols implemented in the client software. For instance, blockchain clients automatically decide whether incoming blocks are valid and signed by the node selected by the consensus algorithm. They also make decisions on validating and propagating messages from the P2P network so that blockchain nodes can sync the latest ledger and pending transactions.
Mining-level decisions — these are the decisions that cannot be made by the blockchain protocols and are related to how a new block can be constructed. Blockchain protocols are designed for nodes to reach consensus on the ledger. However, for a new block that is not yet on-chain, they would have little control of its contents, particularly, the transactions packed in the block. Consequently, blockchain systems heavily rely on nodes to make decisions on the contents of a new block.
Having understood that there are two categories of decisions we need to make in a blockchain system, we then know that there are also two types of decentralization: the
protocol-level decentralization and mining-level decentralization. To evaluate the decentralization of a blockchain system, we will have to investigate from both aspects.
Most of the time, when we mention that blockchain is decentralized due to the fact that the ledger exists on multiple computers and is tamperproof, we actually refer to the protocol-level decentralization. Its level can be quantified by the probabilities of causing the inconsistency and unavailability of the blockchain ledger.
However, it is difficult to compute the probabilities in practice and the decentralization is often measured indirectly by looking at the number of running full nodes and their geographical distribution. The figure below illustrates roughly the relationship between the number of full nodes and the level of decentralization. When the number of full nodes is relatively small, increasing the number will significantly improve the system’s protocol-level decentralization. However, when the number of full nodes becomes larger, the level of decentralization will be less affected by the number.
Mining-level decentralization is about distributing and dispersing the power of producing new blocks. It is
, but plays a key role in maintaining blockchain security and operability. less known to and less discussed by the public
One of the majors threats to blockchain is the double-spending attack where malicious nodes secretly mine another chain of blocks and publish it later to replace the main chain. To launch such attacks, malicious nodes would need to be selected by the consensus algorithm to produce new blocks. Therefore, the more the mining power is decentralized, the less likely they would be selected and therefore, the less likely they would be able to launch an attack. As a result, the mining-level decentralization has a significant impact on blockchain security.
The operability of a blockchain system is about operating the global ledger, or in other words, sending transactions to add new records in the ledger. Since, it is the nodes chosen by the consensus algorithm who select the pending transactions and pack them in the new blocks, the blockchain system relies on them to deliver the much required operability. The more the mining power is decentralized, the less likely valid pending transactions can be censored, and therefore, the better the ledger can be operated by users. As a result, we can improve the operability of a blockchain system by increasing the mining-level decentralization within the system.
To evaluate the mining-level decentralization, we should investigate the following two questions:
How many nodes are seen to have produced new blocks in a recent period of time (e.g., the last 24h)?
How evenly is the mining power distributed to these nodes within the same period of time?
A better mining-level decentralization means either that a larger number of nodes are seen to have produced new blocks, or that there is less discrepancy in the nodes’ chances of being selected by the consensus algorithm to produce new blocks, or both.
When it comes to us to compare blockchain decentralization, we should really investigate both the protocol-level and mining-level decentralization. Both of them are critical to the security, stability and operability of a blockchain system.