50 shades of decentralization
People often talk about decentralized networks and less often about distributed networks. Is there any difference? Let’s have a look at it.
The most famous picture describing the topic.
Distributed network
The term distributed is related to the infrastructure. Distributed networking is the network system over which computer program and its data are spread out across more than one computer, and communicate complex messages through their nodes, and are dependent upon each other.
The goal of a distributed network is to share resources or secure data. In the crypto-space, there is a need to distribute mutual consensus and keep a ledger in many independent nodes. We do not want to let a single node decide about the validity of transactions. Instead of that, we let a single randomly selected node to propose a new block (including transactions) and then let the rest of nodes in the network to decide whether the block will be accepted or not. The majority of nodes in the network mutually decide what is the single version of the truth in any single moment.
Decentralized network
A decentralized network is very close to the meaning of a distributed network. Still, there is a difference. Notice, that we have not talked about owners of nodes in the network. The term decentralized suggests that there is no single point of failure or no single point of decision. Every node makes a decision autonomously and independently on the decision of other nodes.
If the above statement should be true then it must be also true that each node in the network must be owned by an independent entity.
An example can help. Imagine the network where there are 100 nodes. What if all nodes are owned by a single entity? The network is definitely distributed since data and mutual agreement is made across all nodes. However, the network is not decentralized since there is only a single owner who can decide or influence how nodes will behave. The owner can change the source code of the client and thus influence the decision-making process for own benefit.
It is the worst-case scenario. What would be the best-case scenario? In our example, there would have to be 100 independent node owners. Only in this case, we could claim that a network is decentralized and there are 100 independent nodes.
Geographical location matters
In a global decentralized network, the decision process should be decentralized across geographical locations. It means, that a proportional amount of nodes should be located on each continent. It is important from the security point of view and avoiding a single point of failure. If the majority of important nodes are located in a single continent then it could be a problem. If there is some network issue then the rest of nodes in the network cannot sync with the location where the decision is made.
How distributed entities come to a consensus
PoS distributed consensus can be generally described in a few steps.
- Selection of a node with the right to produce the next block. The network selects a single node mostly based on a number of staked coins.
- The node with the right to produce the next block will create the block and distribute it to other nodes. The proof of winning the right of block creation is included in the block.
- All other nodes in the network verify the block and either accept it or reject it.
- The process continues from step 1.
It is a very similar process in PoW:
- Every pool can create a block to prepare for an open competition. Then, every pool competes to enforce a pool’s block.
- After some time one pool (or more) wins and can publish a new block including the proof of work.
- All other nodes in the network verify the block and either accept it or reject it.
- The process continues from step 1.
As you can see, PoS and PoW algorithms are not different. In step 1 or 2 a new block is created and published. In step 3 the rest of the nodes in the network decide whether the block is valid.
As you can see the decision has more steps. Some nodes can obtain the right to create a new block. Other nodes have the right to accept or reject proposed blocks. Which right is more important? Block creation is more important since nodes can censor transactions. A node can censor transactions and it can still produce a valid block. Nodes in steps 3 often just accept a block if it is valid. They do not check possible transaction censorship. Moreover, a block reward is connected only with step 1 so it makes sense that it is the most critical point of the network. Everybody wants to get the reward. If there is something wrong in step 1 then nodes in step 3 cannot quickly do anything with that. If you are interested in the level of decentralization then you should have a look at what happens in step 1. Step 3 is also very important in the sense of verifying that everything is ok with step 1. However, as we said, not everything can be verified in step 3. The most important is to create and append a new block to the blockchain. It should be a never-ending process and it happens in step 1.
You can see it as creators in step 1 and guardians in step 3. You might think that there could be only one creator if there will be plenty of guardians. It is not a good idea. What if the creator node crashes? Who will create a block? Or, what if the creator censors transactions. What if China government attacks pool operators? It is always more secure to have more creators. If one node crashes there will be another to create a block. If one node censors transactions others might not do it. China’s government can attack Chinese operators but not operators from the rest of the world.
You can see it as creators in step 1 and guardians in step 3. You might think that there could be only one creator if there will be plenty of guardians. It is not a good idea. What if the creator node crashes? Who will create a block? Or, what if the creator censors transactions. What if China government attacks pool operators? It is always more secure to have more creators. If one node crashes there will be another to create a block. If one node censors transactions others might not do it. China’s government can attack Chinese operators but not operators from the rest of the world.
In the ideal world, a guardian should be every user of a given project. There will always be more guardians than creators. It is not necessarily bad. Still, there should be a higher number of creators spread across the world to ensure censorship-resistance and avoiding a few points of failure. The more creators the better since the most important thing in the decentralized networks is the ability to continuously append new blocks.
Differences in Bitcoin PoW and Cardano PoS
If we have a look at Bitcoin PoW, then we can see that there are only a few pools with the right to propose a block. Moreover, they are mostly china’s pool. So there is a risk of transaction censorship and if something wrong happens with the china network and bitcoin blocks are not propagated to the rest of nodes in the world then the blockchain will probably split. Nodes in step 3 do not care which pool wins in the competition and created a new block. If it is only one pool (or two) the nodes in step 3 just accept it despite there would be a significant problem with decentralization. Bitcoin’s decentralization is not good in many aspects.
Cardano PoS incentivizes the network in a way that there will be more pools. PoS is not dependent on electricity consumption so nodes can be located all over the world without any limitations. The protocol gives the right to produce a block to a selected node in step 1 and the rest of the nodes in the network can verify it in step 3. So the protocol is aware of decentralization and keeps an eye on it. So PoS tends to be more decentralized than PoW.
The Bitcoin network rewards only creators, so the pool nodes participating in step 1. The Cardano network rewards creators and also guardians. If you, as a user, delegates ADA coins to a pool then the pool creates a block in your name. Thus, guardians are also rewarded for participation in the decentralization.
There is of course much more differences between PoS and PoW consensuses. You can read our article about network parameters and comparison between Cardano PoS nad Bitcoin PoW:
Cardano PoS vs. Bitcoin PoW
I would like to honestly compare Cardano Ouroboros PoS with the Bitcoin PoW consensus algorithm. It will be only a…
(https://medium.com/@CardaniansI/cardano-pos-vs-bitcoin-pow-a14aa6c746b5)
Conclusion
If you would like to know why PoW needs ~10 minutes to create a block then it happens in step 1 during the competition between nodes to create a block. Nodes compete for block creation through the hash power. PoS is faster since it randomly selects a node within seconds based on modern cryptography.
Step 3, block verification, is very similar in Cardano and Bitcoin. The majority of the network accepts only valid blocks.
We have focused on decentralization only from the network point of view. However, the topic is even more complex. The protocol itself and decisions related to the development and addition of new features into the protocol must be also decentralized. Who owns the protocol? Who can decide about the implementation of new features? Decentralized governance is probably the next step in the decentralized future.
Consider staking your ADA coins with Cardanians.io - CRDNS
If you like our articles, you can support us with some donation:
[ADA] DdzFFzCqrhseNP1C9XEs1MA82rgnVZwNpeiNCbLxrJfRzwaceXB9VYqPFYyRrYegc67SERjcQ1xvwB6jryp5vgGUf1cvzbeZP2a92tQe