The goal of consensus system in a decentralized network relying on a blockchain is to allow the members of the network to find an agreement among these members on the current state of the blockchain. The difficulty is to attain such result without knowing the identity of the members and without any centralized authority that plays the role of confident intermediary.In the article we will compare Proof of Work vs Proof of Stake which are two options to solve this issue
In other word, consensus are mechanisms that allows a decentralized network that share a common ledger (the blockchain), to agree on the validity and the order of the transactions realized among the members of the network.
Before the creation of the Bitcoin, this process was not possible and centralized entity were needed to play the role confident intermediary. The purpose of a bank for instance is initially to update a ledger (your account) to show the movements in and out according to the payments that are made among the members or the banking system.
Proof of Work
“Proof of work” (“POW”) is currently the most famous consensus system due to the development of the bitcoin. This mechanism relies on a reward of the entities participating to the consensus process for validating the transactions and adding them to the blockchain. Until now, the bitcoin has largely shown it reliability and resistance to attacks. It is important to note the successful hack were most of the time against exchanges that did not provide solutions secured enough to for the private keys, but the Bitcoin protocol in itself has never been breached to date.
The success of POW relies on different elements:
First POW is the first consensus algorithms for which the management of the identity of its members is fully decentralized. In other words anyone can mine bitcoin without having to show its identity. This is the reason why POW is well suited for “public” or “permission less” blockchains that are open to anyone.
In practice in a system applying POW, each miner tries to solve a mathematical problem and the first one is allowed to constitute the block and add it to the blockchain which will open the right to a reward paid in bitcoin. Without entering in too much detail, the solution to the mathematical problem cannot be found by deduction, but only by trying solution until the miner find the one that is the answer. So the more calculating power you have the attempt you can make on the problem and the more probability you have to find the answer. It is also important to flag that the difficulty of the problem grows with the number of miners trying to solve it (the amount of calculating power or “hashing power” used on the network) so that it will always take 10 min to find to mine a block.
This is the reason why POW always leads to a run on calculating power, which is a constant increase of the calculating power of the network. It is far the time when, everyone could mine bitcoin on his PC. Now only a handful of mining farm and mining pools (gathering thousands of PC) are able to compete to add blocks to the blockchain. This run also has absurd ecological effects. It is generally considered that the bitcoin network consumes as many electricity as a country like Ireland.
All these reasons have led developers to imagine new consensus mechanisms that would reach the same results without having this run on the CPU, that would be faster (than one block each 10mins) and easy to scale. Proof of Stake is one of these new consensus systems.
PROOF OF STAKE
As you can understand from its name, Proof of Stake does rely on the stakes you have in the network, i.e the number of token that you own, and not on your calculating power.
So where the size of your installation is determinant in the POW system, in the Proof of Stake system the most important is the amount of token that you own. Indeed the more token you have, the more opportunity you will have to mint (we talk about “minter” for POS instead of miner for POW). The mechanism rely on the idea that the person who have the most interest to have a consensus system that works perfectly are the one that have the most interest in the system, because if the consensus does not work the price of the token will fall and their wealth too.
The other rational behind this mechanism is that the price of the attack would be so high that it would discourage any attacker. To succeed an attacker would have to buy an important amount of token.
In practice, the minter combines the identification of the last block that has been mined with their public key to generate a random number. This number is them multiplied by the number of token that is own by the minter and the time in second since the last block added. If this number is higher than a predetermined threshold then the minter is authorized to add the next block.
LIMITS TO POW AND POS
Both POW and POS are not perfect and could be improved.
POW for instance is very slow. A block containing a limited number of transactions can only be added to the blockchain every 10 minutes. Given the risk of 51% attack we have described above, it is generally considered that it is impossible to come back on a block once 6 blocks have been added to the blockchain after the one in which our transaction is stored. Even if projects like the Lightning Project and Sidechain try to solve these issues, this time frame makes the uses of bitcoin for commercial purposes very difficult.
This problem is increased by the fact that POW does not provide finality of the consensus. This means that once a block is added to the blockchain it is not 100% that the next block will be added on this block. It sometimes happens that two miners had blocks at the same time and realize what is called a “fork”. There is collision between two blocks and the network will have to choose the block on which the next block will be added. It is admitted by the miners that the blocks should be added on the chain showing the highest rate of difficulty. This collision among blocks is another reason why you need to wait 6 blocks before you can considered that your transactions has definitely been added to the blockchain.
Even if several methods have been invented to make bitcoin transactions faster (again Lightning Project or SideChain for instance), the question of the size of the block and the number of transactions that can be added to each blocks, remain an important point of conflict in the bitcoin community despite the adoption of SEGWIT 2X in August 2017. The issue of the size of the blocks is directly linked to the pace at which blocks can be added to the blockchain (“Block frequency”). The more transaction you can add to each blocks, the more time it takes to validate these transactions and add the blocks. As Marco Vukolic, researcher at IBM, pointed out, this is when the validation times grows that risks of forks increase and so attacks too.
The system of the POS is not perfect too and could also be a victim of its simplicity.
It is sometime considered that the value of the tokens mined under the POW system, comes from all the means (CPU/electricity) that have been used to mine the tokens. In other words, the price of the tokens should at least reflect the investment made by the miners. This is not the case for the tokens that have been minted through the processes of POS since it not involve any investment apart from the buying price of the tokens.
This is precisely what is at the roots of one of the main attack of the POS consensus system which is called the nothing at stake attack.
This is an attack by which an attacker would intentionally divide (fork) the blockhain, by creating a longer blockchain without any additional costs for him. If we come back to the explanation of the POS system, imagine that two minters have obtain the right to mint a block at the same time, they would create two separate and competitive blockchains . As for the POW mechanism, such forks are normally solved by the miners choosing the chain with the most difficulty and abandon the other one. The transactions contained in the abandoned chain would be added in the next blocks.
With POW, miners have to choose the chain correctly because mining prices are so high that they cannot afford to mine without adding blocks, but this is not the case with POS. Minters can indeed keep mining intentionally on the wrong chain just to obtain the rewards. This attack would normally come from a group of minters who would consult in order to invalidate a certain number of transactions and allow double spending for the minter own account. Again this king of attack would be very risky for the linter as the price of their token could fall if the network becomes aware of such attack.
These issues of the size and frequency of blocks, the finality of mining and the concentration of mining capacity all constitute challenges the current developers try to solve through experimental systems such as Delegated Proof of Stake, Byzantine Fault Tolerant systems or Tangle that we will describe in different articles