The Cardano Shelley era is about decentralization
Bitcoin is the first successful blockchain. It uses the PoW consensus algorithm that is permissionless but it does not scale well. The scalability issue is often solved by compromising the decentralization. It might not always be the case. Cardano uses PoS consensus that is highly decentralized and scales much better in comparison with PoW.
How to measure the decentralization
It is not easy at all to measure the level of blockchain decentralization and we can often see rather subjective opinions in social media. We will try to describe our view on the topic but bear in mind that somebody else might not fully agree with us.
It is difficult to strive for the highest possible level of decentralization since a network should also be scalable. It is always a compromise between these two properties. Decentralization is generally about the distribution of decision power in the blockchain ecosystem. A set of rules must exist that define who can operate a node that can produce blocks. In a permissioned blockchain, it is needed to get prior approval before a new member can join the network. In a permissionless blockchain, anyone can freely join or leave the network. Notice, that in the permissioned version of the blockchain, the rules must be defined outside of the source code. A fixed number of members usually agree who can join the network. It means that members must know each other and keep regular contact. They make decisions outside of the network protocol and by that, they can change the quality of decentralization. For example, the group can vote about adding a new member that can produce blocks. Permissionless network works based on rules that are embedded in the source code. Thus, there is no human interaction that could influence the decision of an individual to join the network. All changes must be made on the source code level and operators can freely decide whether they agree with the proposed changes. If the majority agree, then they install a new version of a client with implemented changes and thus the new rules will be effectively applied.
A special version of permissioned blockchain can exist where users can vote about the members of a group that is responsible for the production of blocks. The number of members with the right to produce blocks is still fixed. The difference is that the members might not have certainty that users will vote to keep them doing the work. The advantage is that members might need to know each other and communicate in order to make a decision about something related to the ecosystem. There is a catch, however. Members of the group can also be users with voting rights. If native coins are used for voting then the current members can vote for themselves or make a coalition with other members. Alice can vote for Bob and vice versa. If Alice and Bob hold a significant number of coins then users cannot get rid of them in case they do not behave honestly. Moreover, the current members are rewarded by the protocol for producing and validating blocks. Thus, they receive new coins that make them even stronger since they can use them for voting.
Scalability is the ability to handle multiple transactions and other requests as the user base grows. User growth often reaches the point where a network might not be able to process requests in time. We could see the rise of transaction fees in some networks where it is possible to pay a higher fee to prioritize a transaction. It is not a nice user-friendly feature. Blockchain is a distributed network where the majority of nodes must agree with a proposed change. For example with adding a new block into a blockchain. The term distributed means that there is no single entity that would be able to make a decision. The decision is always made collectively. This greatly complicates scalability, as the decision must be made in several places in a given short period of time. The qualities of the internet determine the speed of data propagation. A typical blockchain consensus works in a way that one node proposes a block and all other nodes validate it. After that, another node gets the right to propose a block. A network protocol contains a set of rules that determine nodes that can produce blocks. The rule can be based on some kind of randomness, which is a preferred option, or the order can simply rotate between a fixed number of members in a group. It is obvious that more scalable is a network with a lower number of nodes that can receive the right to produce blocks. It is even better when the number of members is fixed and the right to produce a block simply rotates among nodes.
Let’s not forget that also transactions must be propagated to all nodes in the distributed network. If you send a transaction in the middle of Europe it can easily happen that a node in the USA will add it into a new block since it had the right to produce one shortly after you just sent the transaction. After that, the block is propagated literally into the whole world. The next block can be produced by a node in China so the node has to receive the transaction and the last block in order to be able to append a new block behind the block that has been created by the node in the USA.
We hope that you understand why it is a challenge to create a blockchain that would be highly decentralized and scalable at the same time. There are even networks that confirm transactions directly and do not use blockchain as a ledger at all. These networks might confirm transactions very fast but they can have a problem with the immutability of history.
Some of the common characteristics of permissionless and permissioned blockchains are these:
- The term blockchain is used for a distributed network that uses linked blocks as a ledger. It means that there exist multiple versions of the same data that is stored on geographically distributed nodes. These nodes are connected and use consensus rules to be able to agree on changing the data.
- In both cases, the blockchain immutability is ensured by the fact that they are distributed. Thus, data cannot be modified or altered without sufficient consensus power and it is generally expected that an individual is not able to usurp such big power. The quality of immutability rises with the level of decentralization. A distributed network with 2 members can be considered as decentralized but obviously the quality of decentralization is very poor.
- In both cases, a network consensus mechanism is used so the decision power is distributed among more entities. The quality of the distribution of consensual power and the number of involved subjects directly determine the level of decentralization.
- Another feature that is considered as a big advantage over a centralized system is the censorship-resistance. The quality is also determined by the level of decentralization. If one member decides to censor Alice transactions and there is still a majority of members that will add her transactions to blocks and validate them then the whole network is censorship-resistant.
As you can see both versions of blockchain are seemingly similar but there are a lot of nuances that should be taken into account. How to measure the decentralization? We went through a theory part that will help us to define a few points:
- The total number of nodes that can get the right to produce a new block. Regardless of whether the blockchain is permissionless or permissioned the higher is the number of block producers the more distributed is the decision power. There is a catch, though. The important requirement is that every node is operated by an independent entity. A network can have 100 distributed nodes that make a mutual consensus upon data change but it is not decentralized if all nodes are owned by a single entity. So the total number can be misleading.
- Equality of individual nodes or members regarding consensus power on the network level and voting power. All members can have equal power or they can have different power that depends on the possession of some resource. For example, a federation can exist where every member has the same consensus and voting power. On the contrary, decision power can be intentionally bought for money so there might be a few whales in the ecosystem that are more powerful than the big amount of the rest members.
- Possibility to become a block producer. At this point, we can distinguish networks from permissionless and permissioned. In other words, whether permission to join a network is required or not. In a federated system, there is a fixed number of members. The rule can be set that 2/3 of members must agree with adding a new member. Entrance conditions can be set. No permission is required within an open network, however, other factors can significantly influence the possibility of joining.
- The cost that a subject must pay to become a block producer. A network can be permissionless but still, the cost or conditions related to starting with a production of blocks might be prohibitive. For example, it can be difficult to join a network where users can delegate an expensive resource to pools and thus give them more consensus power. Creating a pool without having enough of the expensive resource does not ensure consensual power. The entity interested in operating a pool might need to have enough money to buy the resource to increase its own consensual power. Alternatively, the operator can try to persuade people that own the resource to delegate it to the pool.
- The number of actors that have consensual power. In a federated model, members can agree to run a node and no other incentive is not needed. Thus, only members basically own the network. In general, the decision power should be distributed as much as possible if we talk about decentralization. It means that not only block producers should have the network consensual power. The power can be distributed to users. Thus, also users can at least partly choose who will be a block producer via any kind of voting or power delegation.
- Transparency and the ability of users to access a blockchain and verify transactions. We can distinguish between private and public blockchains. In a given ecosystem, access to a blockchain may not be taken for granted. A group of members can keep a private blockchain and only some entities might be allowed to access it. In such a network, users can only send and receive transactions. In a public blockchain, anybody can access all data in a blockchain and become a transaction validator. Thus, users can keep their own version of blockchain via a so-called full-node. Notice, that it is not about the right to produce blocks, thus, this point is mainly about trust and not directly about the level of decentralization. A private blockchain can be highly decentralized but users might not trust it since they have not granted access to a blockchain. Blockchain technology is about building trust in the decentralized ecosystem. At the moment, transparency can be considered as a key factor that helps people to trust the decentralized networks.
- Resilience against dishonest consensus actors. Every distributed network should consist of independent actors. Some of them might not act in the best interest of the network. The question is how difficult it is to commit an attack. When there is a fixed number of members in a federation and 2/3 is a quorum then 1/3+1 of dishonest members can succeed in the attack. In a permissionless network, it is not about the number of actors that are able to attack the network. It is about the possession of a resource that is needed to participate in the network consensus. Only a single entity can buy the needed amount of a resource and succeed in the attack. For example, it is said that you can succeed in the attack on a PoW network if you possess 51% of hash-rate. It is similar in a PoS network where you need to buy 51% of native coins. Notice that this point also relates to security. We could also talk about the incentive models that motivate actors to behave honestly. However, we will not talk much about attacks in the article. We want to keep the focus on decentralization.
As you can see, it is not easy to tell which blockchain is the most decentralized one. We can consider many aspects and everyone can consider a different aspect as a more important one. Moreover, different problems require different solutions. We can have a blockchain solution that is very strong in one aspect and worse in others. It can be definitely useful for something. We can also have a solution that is more universal and can cover more functionalities. Such blockchain can have properties more balanced. There can be a problem for which a universal solution is not good enough and a dedicated solution must be built. It is hard to say which properties we need more at the current level of cryptocurrency adoption. It is very probable that the next wave of newcomers will decide about it.
Deeper dive into the problematics and comparison of approaches
At the moment we are able to build a decentralized and secure blockchain. There are a lot of decentralized projects using PoW, PoS, DPoS, and other network consensus mechanisms and none of them has dramatically failed so far. They differ in properties. Some are more secure, some more decentralized, and some more scalable. Teams should strive to build a blockchain that will be strong in all three named properties.
Teams took different approaches and one of them is to build a layered system. It means that a second layer will resolve issues that are hard to tackle within the first layer. The most known example is Bitcoin that uses very secure but poorly scalable PoW consensus. The scalability should be resolved within the second layer. Thus, the whole solution should be secure and scalable at the same time. It looks good in theory. There are a few problems, though. The decentralization of Bitcoin has significantly degraded over time. PoW is permissionless and public blockchain but a few big pools have usurped the dominant position. Thus, there are only 10 big players that produce the majority of blocks in the Bitcoin network. Moreover, two big pools are owned by a single entity. It is difficult to create a new pool that would produce a block since without having a sufficient amount of hash-rate the chance to produce a block is nearly zero. Cost of ASIC miners and electricity that would ensure at least 0,5 % the hash-rate is very high.
The scalability of Bitcoin should be improved also within the first layer and the reason is obvious. Bitcoin is a global network and the second layer still needs to use transactions of the first layer for opening and closing channels. If the first layer is not able to open and close channels quickly and cheaply then also the second layer will suffer and the user experience will not be good. The first layer is able to process approximately 600,000 transactions a day. Over 200,000,000 people are in the productive age in the USA. If the whole network capacity of Bitcoin was used for opening channels of the second layer and for nothing else then it would take approximately one year to onboard all people in productive age in the USA. Notice that we made an unrealistic assumption. People might want to open more channels, some channels need to be closed from time to time, and the capacity cannot be used only for opening channels. The scalability of the first layer should be increased at least 10x, if not 100x, to handle the global traffic.
Second layers like Lightning Network are not consensual networks where a few nodes confirm transactions and many solutions are centralized. Transactions between two users via a private channel can be considered as secure but when a routing among more participants is needed than some form of centralization is often needed.
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
Blockstream works on a Liquid Network that could resolve the scalability of Bitcoin. The Liquid Network is operated by a federation of members which include exchanges, trading desks, and other cryptocurrency companies. We are talking about a permissioned network in which all members know each other and every member has the same power. A federated model is probably the worst possible level of decentralization. Some members can contact each other and can make some decisions without letting other members know. Thus, they can enforce some rules that will be beneficial only for them. Moreover, every legal subject knows the members and can order to follow some rule or regulation. Permissionless network is a much better solution since entities can stay in anonymity. Not only it prevents shady agreements from the inside but it makes it very difficult to find and contact all entities from outside. Moreover, if some entity is forced to stop operating nodes then other entities in other parts of the world can join the network. Thus the network is much more resilient against legal persecution. Moreover, if you do not trust exchanges and pool operators then it is difficult to trust the federation that consists of them. These entities might not always act in the best interests of users. The anonymity and open competition of members in a permissionless network ensure a higher probability of fair acting. Facebook uses the same model for its network Libra and there is the same problem. Facebook is not a much-trusted entity and other members of the federation are not also much-trusted. Many people from the cryptocurrency community criticize the attempt to compete with Bitcoin and other permissionless networks.
Let’s ask the question. Is it a good idea to build rather centralized or custodial solutions upon decentralized blockchain networks? We do not have a simple answer. We build decentralized systems since we believe that they have many advantages over centralized solutions. Should we compromise the very basic principle of that just because we need to resolve scalability? We do not think so since the threats related to centralization are too dangerous. It makes no sense to build other rather centralized services and pretend that we can replace the current financial services. If we started to use Liquid or Libra networks we would just replace the current centralized services by new centralized services. We would just give more power to crypto exchanges, a few Bitcoin pool operators, and other crypto-players. In the future, they could misuse the power as the current financial entities do. To be fair here, we could say that federation is a bit better solution than individual entities like for example banks and there is some level of decentralization. Still, if we prefer the ability to freely join the network, similar chances for everybody, absolute censorship-resistance, high level of decentralization, building trust in a network instead of in people, then we need to continue with technological improvements that allow us to reach the goal.
Another approach on how to achieve high scalability is to create a consensus that would scale on the first level. Thus, the second layer solution would not be needed. Delegated Proof-of-Stake (DPoS) is such a consensus. The EOS project uses asynchronous Byzantine Fault Tolerance DPoS consensus. EOS is able to fully confirm a transaction within a second and real throughput is about 250 transactions per second. The EOS team preferred scalability over decentralization. Thus, there are only 21 block producers in the network. Holders of EOS tokens can vote and choose block producers. Besides 21 active producers, there are a bunch of others in standby mode. Voters can decide about replacing active producers by standby producers. At the time of writing, the first EOS block producer has over 331M EOS votes. The last active producer has 318 EOS votes. A producer in the 30th place has only 150M EOS votes and a producer in 50th place has only 70M EOS votes. As you can see, you need a significant amount of EOS votes to become a block producer if you are somewhere in 50th place in the ranking. You can get votes by buying EOS tokens. The EOS project faced the criticism that active block producers made coalitions and voted for themselves. For example, Alice voted for Bob and Bob voted for Alice. Thus, both Alice and Bob are able to keep themselves in the active group of block producers.
Let’s now compare Bitcoin PoW and EOS DPoS. Which one is more decentralized? PoW is permissionless whereas DPoS is something between permissioned and permissionless networks. To be fair, it is rather the latter case. The number of block producers is fixed but voters can change the current active members. You can basically buy the right to produce blocks and you do not need permission. If we judge it purely by the number of block producers then EOS would probably win. 21 active EOS block producers with similar consensual power are more than 10 major pools in Bitcoin with plenty of small pools that have very small consensual power. In both cases, it is possible to buy and possess the needed resource that ensures that big players can remain active block producers. It can be a bit easier or cheaper to become an EOS block producer than to create a new Bitcoin pool that would have at least 5% of hash-rate for disposal. Regarding the distribution of consensual power to users, EOS again wins. The reason is that it is easier to buy coins and vote. Users can do it anywhere in the world. In the case of PoW, the consensual power can only be distributed to users that live in countries with relatively cheap electricity. Moreover, users need to buy quite expensive ASIC miners to be able to participate in the delegation of consensual power. PoW networks tend to centralize as social importance increases whereas networks that use native coins can be more decentralized together with the distribution of coins.
Cardano uses Ouroboros PoS consensus and the team works on the second layer solution called Hydra. The combination should sufficiently scale at least in the next 5–10 years. PoS is currently the best way to decentralize a distributed network. In general, PoS is a concept and projects can implement many different flavors of it. Ouroboros PoS uses native ADA coins as a precious resource. Thus, every holder of ADA coins is basically a stake-holder meaning the owner of the Cardano network. Every stake-holder can either create a pool and become a block producer or delegate ADA coins to any of the existing pools. It is necessary to own a higher number of ADA coins to create a pool. When a stake-holder does not have that needed amount or does not want to create one then it is possible to just delegate coins to a pool. By the delegation, the total stake of a pool is increased. The total stake of a pool determines the consensual power in the network.
Let’s compare Cardano with Bitcoin and EOS. PoW and PoS are similar concepts. As we have already said, PoW tends to the centralization of the consensual power since electricity is the resource that users need to delegate power. The Cardano decentralization will only grow as ADA coins will get more distributed. If the importance of the network increases then it can be assumed that also the distribution of the coins will increase. In the Cardano network, all stake-holders are rewarded if they delegated ADA coins to a pool. Thus, users are motivated to hold ADA coins since it ensures passive income. It is not the case in the EOS network where only block producers are rewarded.
The EOS project uses native coins for voting. EOS has a fixed number of block producers whereas there is no restriction in the Cardano network. Thus, Cardano is more permissionless. The Cardano network has a special incentive model that will economically support a given number of pools in the network that will tend to have a similar size. In other words, if the supported number of pools is set to 150, as it was at the beginning of the Shelley era, then the most rewards can be obtained if there will be 150 pools with the same size. Moreover, a saturation concept will economically restrict the size of pools. Once a pool gets to the point of saturation the rewards will be cut by the network. It means that it makes no sense for a saturated pool to increase the total stake since it does not ensure a higher reward. Neither Bitcoin nor EOS has a similar mechanism that would restrict the size of block producers. It is not a big problem for EOS right now but it is a problem for Bitcoin since there are 5 players in the network that dispose of over 10 % of hash-rate. These 5 players control 60 % of the total hash-rate. Moreover, BTC-com and Antpool are owned by Bitmain. If only 4 entities collaborate then they would dispose of over 50% hash-rate. This is enough for committing the 51% attack or for making some shady decisions.
Right from the beginning, Cardano will be 7x more decentralized than EOS and ~20x more than Bitcoin. Nevertheless, it is expected that the supported number of pools will be increased over time to 1000 or even a few 1000 pools. It should be said that the right to produce a block is based on a lottery. In the lottery, ADA coins are taken into account. It means that once you have a certain number of ADA coins you can create a pool and become a block producer. Within a few years, the Cardano decentralization can be easily 100x higher than the Bitcoin decentralization.
In contrast with EOS, pool operators can delegate their own coins to their pools in the Cardano network. So there is no need to create a coalition where one pool operator would vote for another pool. Operators need to use their ADA coins as a pledge and all users can see how big a pledge every pool has. It is important since there is no need to search for the identity of other operators in order to make a shady coalition. Every operator has their own skin in the game so it is motivated to behave honestly. The pledge is locked for some time. Dishonest behavior that would result in the devaluation of ADA coins would decrease the wealth of operators.
Cardano is highly decentralized and scalable at the same time. The team resolved a big challenge and delivered a global protocol that has needed properties to serve all people around the world. Nevertheless, the scalability of the first layer might not be sufficient in the near future. Hydra will be used as the second layer solution. In comparison with competitors, Hydra uses directly the UTxO model of the first layer. Each Hydra party maintains its own final UTxO state. Hydra will use an asynchronous Head protocol that allows parallel processing of transactions. The Head protocol does not maintain the history of transactions to minimize the local storage of parties. Instead of keeping history, UTxO snapshots are constantly generated. There is always a selected snapshot leader that offers his view of the confirmed state. Other parties confirm the state by a signature and as a result, a new snapshot is generated. In contrast to asynchronous transaction processing, the snapshot is generated sequentially. Once a new snapshot is confirmed, parties might delete all transactions that have been processed and are part of the new snapshot. Party’s confirmed state is always ahead of the latest confirmed snapshot. Thus there is no need to wait for some transaction confirmation to be able to confirm a new snapshot proposal. Snapshot reflects the Head’s final state that has been confirmed by all Head members. Notice that decentralization is not compromised and there is a kind of consensus between parties. Hydra will be a more decentralized solution than the Liquid network.
Decentralization is a huge topic and we touched mainly the part related to making a consensus in a network. Project governance is another big topic that would deserve a few separate articles. The IOHK team works also on that since it is a very important aspect of every decentralized network.
Due to math and science, the IOHK team was able to create the protocol that pushes the blockchain technology one level up. The improvement of technologies is a never-ending process. We cannot be stuck in one place and think that we have something that will be with us for many years. Every digital technology needs to be regularly upgraded and innovated. Any cryptocurrency cannot survive without that. A strong team is a very important part of any project and only the team can ensure that the protocol will be fully operable over time.