The Challenges of Decentralization for Cardano
Understanding the past protects us from repeating the same mistakes in the future. This also applies to decentralization. With time, we can see how the decentralization of Bitcoin has evolved. Observation may be surprising for someone.
Bitcoin protocol has been running successfully for more than 10 years. In today’s article, we will look at how the level of decentralization has evolved over time for the project that has been running the longest. The shift in the quality of decentralization from a relatively high level to low is significant and it is interesting to see why it happened.
After investigating how and why the level of decentralization decreased in the Bitcoin network we will look at how the Cardano project approaches decentralization and how it has learned from its predecessor’s mistakes. Charles Hoskinson sometimes says that Cardano will be 50x more decentralized than Bitcoin. We will show you how the level of decentralization can be objectively assessed and why it is possible to say that.
We hope that our observations will be interesting for you.
Decentralization is a dynamic process
Decentralization is not something a protocol could achieve once, and then it would have forever. Decentralization is a dynamic process and will change over time. Decentralization is mainly about the number of independent and self-organized people involved in the network consensus. People act on the basis of their economic interests and their desire for power. A distributed protocol has some potential and prerequisites that people can use to start and maintain a decentralized network. The protocol consensus is only a set of rules and algorithms that programmers have created to allow the network to reach a majority consensus in an adversary environment according to these rules. Network consensus rules may work well for some time, but as the conditions in the physical world evolve, protocol rules might need to be adapted if it is unable to keep the required properties.
Cryptocurrencies are only at the beginning and therefore the environment is very unstable and changeable. The instability of the environment is caused by an economic and incentive model, which changes over time. For example, the network subsidy could decrease at regular intervals which has an impact on the security budget. Another reason may be the speed of adoption that cannot be estimated in advance. The number of people using the protocol is constantly changing and probably grows as the protocol slowly becomes popular. With the increasing importance of the Protocol, power interests grow from outside but also from within the ecosystem. And of course, we cannot forget the price volatility of the coin on the market.
The digital world cannot communicate with the physical world in a fully decentralized way. The digital world cannot fully understand the physical world and all relations. In other words, the protocol never knows what is exactly happening around it and whether it is good or bad. A protocol can just strictly follows algorithms and make some deterministic decisions. People from the physical world are the ones who can spot some problems with protocol decentralization and can point to a specific algorithm that does not work properly. Therefore, only people can solve arising problems by modifying the rules of the consensual protocol algorithm. Clear rules must, therefore, be defined on how and under what conditions the team can modify the protocol rules. There must be also established some form of communication from network users towards the team. Within a decentralized network, the protocol should not be owned by the team, but by all people. In other words, decision-making power should be distributed as much as possible, since ownership often represents a chance to gain some advantage.
Ideal decentralization is an unattainable goal
Satoshi Nakamoto designed a well-decentralized network. Let’s look straight into the whitepaper:
The steps to run the network are as follows:
- New transactions are broadcast to all nodes.
- Each node collects new transactions into a block.
- Each node works on finding a difficult proof-of-work for its block.
- When a node finds a proof-of-work, it broadcasts the block to all nodes.
- Nodes accept the block only if all transactions in it are valid and not already spent.
- Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash.
In the beginning, all nodes in the network had almost the same position. We can say that everyone had the same decision-making rights. Each individual had a full mining node and could mine a new block. Thus, each node could autonomously decide which transactions to put in a block, or which block to follow in the case of a fork. The mining full node is also an important part of the power distribution when a hard fork is going to happen. So the network had no single point of failure and no center of power. All nodes had the same decision-making power. The network looked similarly as in Figure 1.
The decentralization described in Figure 1 is probably unattainable for a consensual network if the number of participants is in the tens of millions. In the PoW network, those with a higher hash-rate have proportionally a higher chance of producing the block. It may happen that some participants will never produce a block if there is a certain number of participants with a high hash-rate. Thus, participants with a low hash-rate would never be rewarded despite trying to keep the network decentralized and consuming electricity. It turned out that there was a need to divide the roles of network users.
Decentralization is a dynamic process and changes over time. You can have it at the beginning and lose it within a few years. It is like a democracy. If we stop to care about it then we can lose it. A protocol might be designed in a way that helps to keep the decentralization on a good level. Let's explore the topic. Read more
Pools and ASIC miners changed rules of the game
How to make sure that even people with less hash-rate can participate in mining and get rewards? The solution was to introduce the concept of pools. The problem has been solved, as more individuals could join together and create a group. They could combine their hash-rate and mine together one block.
It soon became apparent that it was better to use graphics cards (GPU) for mining than CPU. People who wanted to have an advantage in a higher hash-rate began to build mining rigs, using many CPU or GPU. Subsequently, it was possible to buy specialized mining hardware — ASIC miners. To see the difference, a Bitcoin ASIC miner can calculate hashes ~100,000 times faster than even the best CPU.
The network started to look like as in Figure 2.
Figure 2 shows that users are divided into miners and users. Miners usually do not maintain a full node and do not need it. A specialized ASIC miner only provides a hash-rate to the pool. The pool decides on which part of the mining task (proof-of-work job) each individual miner will work. Network users can run a full node, but they don’t have to. The safest storage of private keys is in the hardware wallet, ie in cold storage. Coin holders thus basically have no need to maintain a full node and rely on someone else to provide them with blockchain information.
Notice, that in the early days of Bitcoin, there was no such thing as a non-mining full node. In Bitcoin’s whitepaper, the word node is the equivalent of a miner. In the beginning, every node was a miner. As Satoshi wrote in his whitepaper:
‘As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers.’
Unfortunately, people have started using the term full-node for non-mining nodes.
Note that the level of decentralization has fundamentally changed. Network participants are no longer equal in terms of network consensual decision-making power. In principle, there are now 3 different entities in the network.
- Miners, providing hash-rate to pools without need to keep blockchain.
- Pool operators, who operate pools.
- Users — coin holders who may or may not maintain a non-mining full node.
Let’s add that users just validate new blocks and keep the whole blockchain in their discs. However, they do not directly participate in mining.
The environment in the physical world has fundamentally changed in terms of the quality of decentralization. Only pool operators have the right to decide which transaction is to be included in a block or to which block will be linked in the case of a fork. They also play a key role during hard-forks.
The fully decentralized network became a network where a single point of failures began to exist. However, the team did not respond to this fundamental change and did not adjust the protocol. Thus, the protocol still rewards those who mine the block. Now, however, these are only nodes owned by pool operators. Node operators must then reward the owners of ASIC minerals through a completely different protocol and at his own will.
Rising hash-rate forces out small miners
However, the situation continued to evolve. The hash-rate has grown so much that mining has stopped being profitable for small miners in some countries. In addition, large mining halls began to appear in places where electricity is cheap. Especially in China. Owners of mining halls are often the pool operators as they benefit from owning pools.
See Figure 3 for a description of the current situation.
The use of electricity in a network consensus has both advantages and disadvantages. A significant advantage is that it is costly to create a block that is not afterward included in the blockchain. Miners will not receive a reward for such a block, so they will lose money. It ensures honest behavior. The use of electricity is disadvantageous in the context of decentralization. Because the hash-rate is constantly increasing, smaller miners are forced out of the system because they cannot compete with minerals from countries where electricity is cheap. As a result, mining is geographically centralized and moved into large halls. This means that the number of participants in the network consensus is decreasing, which reduces decentralization. The second disadvantage is that keeping the protocol running is economically expensive. The reward for the mined block must be used mainly to pay for the energy and there is no much money left for higher rewards or for investing in the further development of the protocol through the project treasury. In the long run, this is a problem in the context of a security budget that relies heavily on newly created coins. If the number of coins for rewards is reduced every for years (halving), the security of the network consensus is directly threatened.
High power consumption is an excellent defense against the 51% attack from the outside. However, it is very important how many people and in what proportion this hash-rate owns and can make independent decisions. It can be a few individuals in a few places or thousands of people around the world. The very high hash-rate in the hands of the individual is the center of decision-making power.
In his whitepaper, Satoshi could not assume that mining pools would arise, that full node would not mine, that ASIC miners would be produced, and that mining would then move to large mining halls. Furthermore, he expected that the scalability of the protocol will increase and transaction fees will gradually cover the cost of mining as the network subsidy declines. Lightning network development does not help to collect more fees on the first layer. It is almost impossible to predict developments in the physical world if a completely new decentralized network is created. There’s no point in sticking to the old design. However, new emerging problems need to be addressed.
In the beginning, almost all coin holders were miners and directly involved in the consensus. In ten years, mining has become a business that is inaccessible to smaller players. Pool operators have gained network consensus power. However, the protocol has not been adjusted at all to further promote decentralization. The fundamental rules are still the same and in the current context, they should be changed.
- The reward is given only to the person who mined the block. In the context of pools, it is a problem since pool operators must distribute rewards to people who delegated hash-rate to the pool. Pool operators can fail in fair reward distribution and there is a space for cheating.
- The rewards often win entities with the highest hash-rate. Hash-rate power plays a more important role than luck. It is a problem with the context of big mining halls since small players are forced out of the system. Small hash-rate without joining big mining-pool has no power.
- The protocol does not care that the majority of rewards are distributed to a few same entities over and over. It could even be only a single entity.
- Pools are economically motivated to grow. The higher hash-rate a pool has a higher proportion of rewards it collects. Centralization just grows. The protocol has no notion about the number of pools and their size. Thus, protocol blindly tolerates the existence of a few big centers of power.
- Pool operators can strengthen their position in the network consensus by setting up their own mining halls. Thus, they can own a significant amount of the hash-rate the whole pool has for disposal.
- Protocol rewards only mining activity, but not users running a full node. Only pool operators need to run a full node. Technically, users and ASIC miners owners do not need to do so. However, it is expensive to run a full node and they are important for checking that pool operators follow the rules.
Big pool operators form a few single points of failure. They can abuse their power and censor transactions, or orphan blocks created by smaller pools. They can even decide about the minimum size of transaction fees. They can abuse their power and dictate conditions for other smaller operators or users. Theoretically, they could even change the maximum supply of BTC coins.
What is worse, at the moment, there is no easy way how to prevent that. In the case, that pool operators have (or will have in the future) own big mining farms and smaller miners cannot significantly decrease their power by delegating hash-rate elsewhere then pool operators become dictators.
For an attack from outside, it is easier to influence a few pool operators in China than thousands of consensus participants around the world. It is also easier to attack big mining halls than ASIC miners distributed in millions of households. We can see a lot of centralization tendencies in PoW consensus.
How to measure decentralization
Let’s first clarify a few things that are often confusing for people.
Pierre Rochard explained 3 key misconceptions of running a Bitcoin full node in one of the panels at the 2019 MIT Bitcoin Expo. We will have a look at two of them. Rochard said that miners usually don’t run their own full nodes these days. Instead, they simply connect to their mining pool’s full node. Additionally, those who are running their own full nodes at home usually aren’t mining. Rochard also said.
“It doesn’t matter if you spin up a full node and then don’t use it. At the margin, it might help the network a little bit, but it’s really not why one should be spinning up a full node. You should be spinning up a full node because you want to use Bitcoin in a trustless manner, and also, there are privacy advantages, et cetera.”
Notice, that Rochard did not talk about network consensus and distribution of power. Running a full node is really only about the trustless connection with the network.
When assessing the level of decentralization, we must take into account all the roles that exist in the ecosystem and their rights in the network consensus. There are three roles in PoW: Coin Holders (Users), Miners, and Pool Operators. Some roles may overlap. Let’s compare current block creation with what Satoshi designed in the whitepaper. Pay special attention to the roles:
- All nodes of pool operators pick transactions and put them into a block and it is a quick process. Thus, new blocks are created but it is needed to make the proof-of-work job. Nodes will compete with each other to mine the block. Only the winner will be rewarded.
- Pool operators split the proof-of-work job into a few pieces and distribute them to all miners registered to pools. Thus, all miners within a pool work on the same block. Now the ~10 proof-of-work job really begins.
- One miner succeeds in the proof-of-work job and sends the result to the pool operator. Thus, the block is complete and can be distributed to the network.
- All full nodes validate the block and if it is correct they add it into their blockchains. If not, there is no way how to complain or claim a mistake.
- Pool operators start to work on a new block, basically from step 1.
- The pool operator gets the block reward. The operator knows how much effort every miner put into the proof-of-work job so he can distribute rewards to all of them.
Notice how much power the pool operators have. They decide which transaction to insert into a new block or on which block to continue in the case there is a fork. Full nodes get into play in step 4 what is nearly at the same moment when operators start to work on another block in step 5. Full node owners are thus just passive watchers of the whole consensus process. They are not active participants. Even if there would be a problem with the block they cannot do much. There is no process to allow full nodes to reject a block that pool operators consider valid. Even if the majority of full nodes do not include the block in the blockchain, if pool operators (or the dominant one) continue with adding new blocks on that one, there is nothing that full nodes could do with that.
Miners are also rather passive participants of the network consensus. They just do what pool operators need. They play no role for example in picking transactions into blocks. They are just servants.
Notice, that coin holders do not participate in the consensus at all. They have no decision power in the network consensus. However, coin holders are more interested in network security and decentralization than miners. If something goes wrong, coin holders could lose more money than miners. Miners are basically just entrepreneurs who do their work for money. They don’t have to be coin holders.
It is necessary to realize how disproportional is PoW system. There are only a few pool operators, but they have the greatest decision-making power. There are many coin holders and their number will increase. But they have no rights. Miners are also only a few. Moreover, their number will tend to decrease.
If we want to assess the degree of decentralization according to how many people have the highest decision-making power, we must focus on the pool operators. The degree of decentralization is thus given by the number of pool operators and the distribution of decision-making power according to the hash-rate they have. We could also consider how much hash-rate the operators themselves own and how much they rent from smaller miners. Unfortunately, we are missing credible data here.
It is desirable that the number of pool operators is as high as possible. But it has a catch. The total number is irrelevant if there are few dominant operators in the network. There can be 100 pool operators in the network, each with approximately 1% decision-making power. Or there may be 5 operators, each with more than 10% power. Obviously, in the latter case, the network will be more centralized regardless of the total number of operators.
So if we measure the degree of decentralization strictly according to how many independent entities can create blocks (including transaction insertion) and receive approximately 90% of the rewards per day, we would be somewhere on number 10–20 entities.
We could also look at the number of full nodes that maintain the blockchain. However, as we have shown above, from the point of view of consensus, it is only a supervisory body that has no consensus rights.
Perhaps it is not a good idea to judge the degree of decentralization by the number of pool operators. Decision-making power should be distributed equally among as many participants as possible. A stronger majority of participants should always be able to eject a cheater. Power should not be concentrated in the hands of individuals.
Protocol update is a must
It is not possible to maintain decentralization without updating the protocol. If the conditions in the physical world change, it is necessary to respond accordingly and adjust the protocol. The team responsible for protocol maintenance is essential to maintain decentralization. So far, we have not been able to build a protocol that cares about its own degree of decentralization and is able to adjust own rules. This activity will remain in the hands of developers for a long time and they must respond to user requests and protocol needs.
Well-functioning project governance is the same important as network-level decentralization. There must be a mechanism through which the team can listen to user complaints and requests. Furthermore, there must be some form of voting on how to solve problems and how to prioritize them.
In PoW, it is difficult to achieve this, as coin holders have no voting rights regarding project governance. Voting on changes is in the hands of pool operators and miners, who can prioritize their interests over those of coin holders.
How decentralized can Cardano be
Ideally, the roles of participants in the protocol ecosystem should not be overly divided. Consensus decision-making power should be distributed to as many independent entities as possible. It would be nice to get closer to the state we have seen in Figure 1. But this is an unrealistic goal.
That is why Cardano counts on the existence of pools from the outset, and through the concept of saturation, it will strive to limit their size and ensure that there are as many pools as possible. It should be easier and less expensive to build a new pool. The protocol itself will take care of distributing rewards to all participants in the consensus. Pool operators will not be responsible for this.
All network users are stakeholders and can participate in network consensus. The special role is the pool operator who will be responsible for creating new blocks. PoS consensus uses its own coins, which can be beautifully used to distribute power. Those who hold more ADA coins are likely to be more interested in the quality of decentralization and protocol security. With the number of coins held, power within the network and project consensus increases proportionally. Every ADA coin holder thus becomes, in Bitcoin terminology, a miner. In PoS terminology, a coin delegator (stake-holder). Pool operators are also stakeholders and will use coins to establish and strengthen their pool. Other stakeholders can select a pool and delegate coins. This increases the power of the pool.
The Cardano network may look as described in Figure 4.
Let’s have a look at what happens in the network. Again, notice the role of participants:
- At the beginning of an epoch, the consensus power of pools can change as users could delegate more or less ADA coins to every pool.
- A pool node finds out that it was selected as a current slot leader. It means that it received a right to insert transactions to a new block and produce it. There is no competition among pools and all slot leaders are determined in advance. The decision about the slot leader is based on staked coins on behalf of the pool.
- Block is immediately propagated to all full nodes. Full nodes might validate that the block was produced by the pool node that had the right to do so.
- A new slot leader is selected within the epoch.
- At the end of the epoch, the protocol distributes rewards to pool operators and users who have delegated coins to pools.
The big advantage of Cardano Ouroboros POS is that all ADA coins are used for voting to decide on slot leaders. The network may take into account the number of coins delegated to each pool. It is thus easy to define a size limit from which a large pool will not have a proportional advantage over other smaller pools. From a certain size, the pool is considered as a saturated one and the network will reduce its rewards. The network can thus regulate its level of decentralization and define how many pools of approximately the same size are preferred. Initially, 1000 pools are planned. This concept does not prevent a single entity from creating multiple pools. Nor is this possible in a decentralized network. The advantage is that 1/1000 of the currently staked coins will be sufficient to set up a new pool. The number of pools will be adjustable via decentralized governance.
From the beginning, the team counted on the existence of pools, so he implemented the reward distribution directly into the protocol. Pool operators will not be responsible for the distribution of rewards. Everything will be done fairly by the network.
The advantage of PoS over PoW is that all coin holders, no matter how many, can participate in the network consensus and multiply their wealth. All stakeholders can thus influence the quality of decentralization. Decentralization will naturally increase as ADA coins are distributed among people. And the demand for coins can be large, as holding provides passive income. Because people will want to secure the passive income for as long as possible, they will oversee decentralization through the delegation of coins to an honest pool.
The more people oversee, ie hold and delegate ADA coins to pools, the more decentralized the network will be. Consensus decision-making power is thus much more distributed among a large number of people than we can observe in PoW. For the delegation of coins, it is not necessary to buy expensive hardware and users do not risk losing money. All you need is coins that are delegated to the pool through your wallet. After delegation, the wallet can go offline.
We have stated above that the degree of decentralization can be assessed by the number of independent entities having the right to insert transactions into a block and get rewards for block production. For Bitcoin, it was about 10–20 pool operators. In the case of Cardano, there will certainly be whales that will be able to create more than one pool. It will be true at least at the beginning. Since it is expected that there will be approximately 1,000 pools, Cardano might be 50–100 more decentralized than Bitcoin on the network consensus level. It is probable, that we will see e.g. 300 fully saturated pools and 2000 non-saturated ones.
As we have also written before, decentralization is not only about how many people have the right to create a block, but also about how many independent people have the right to change the balance of power. In this respect, PoS is better, because it is very beautifully distributed through coins.
Obviously, decentralization is not only about network consensus, but also about project governance. It must be ensured withing a project that decentralization problems are addressed in a timely and adequate manner. For this, there must be a source of funding and the way in which problems can be reported. People could also require new features and functionalities. Stakeholders must have a chance to decide what problem will be solved and when, how much money will be spent on it, and who will fix the problem. The Cardano project team plans to establish decentralized governance. It will happen in the Voltaire era.
As we have seen with the Bitcoin network, the same level of decentralization cannot be sustained in the long term. The Cardano project team will face new challenges in decentralization over the next 10 years after the launch of the main-net. To maintain decentralization at a high level, the Cardano team will need to continue to take care of it together with all stakeholders. Let’s hope we will succeed. It could be much easier with PoS than with PoW.
It is difficult to keep decentralized a network consensus that is based on electricity consumption. It seems to be a nearly impossible task from the geographic point of view. It is much easier with coins in PoS networks. If the negative trend of Bitcoin centralization continues we could soon see a network where will be just 2 or 3 dominant pools and a few big mining farms in a few locations in the world without any small hobby miners. Something must be fundamentally adjusted in the Bitcoin ecosystem if the network is to be more decentralized again and the current negative trend is disrupted.
The Cardano network may look like Satoshi Nakamoto imagined decentralization. PoW was created because nobody has solved all problems related to PoS at that time. Cardano, but also other projects, can succeed and deliver working PoS consensus. A PoS full node can always be a “mining” full node since users can delegate coins to a pool and have decision-making rights. Users have exactly the same right without the need to operate a full node and can delegate ADA coins from the lightweight wallet Yoroi.
Decentralization is like democracy. Once we stop taking care of it, we lose it. People had to build many control mechanisms to make democracy work well. The same must be done for distributed networks, with the difference that the control must be decentralized. The only valid constant in our world is a change. We need to react to unwanted or unexpected changes to prevent a state we want to avoid. Nearly everything is centralized around us and we are used to it. We are at the very beginning of our decentralization effort and facing all the upcoming challenges is our only chance.