Last week we started to explore consensus models, and this week, as promised, we are back to take a closer look at the proof of work vs proof os stake concep.
Consensus algorithms are designed to achieve agreement to validate transactions on a shared ledger. The protocols need to be secure, efficient and keep the decentralized nature of the network. In this article, we are going to examine three main consensus models: proof of work, proof of stake, and delegated Byzantine fault tolerance.
PROOF OF WORK – POW
Proof of Work is one of the first consensus models in use: it is how Bitcoin, and currently the Ethereum network, runs as well. It means that a complex computational problem -work- needs to be solved to append a new block to the chain. The person who does the computation is called a miner and gets a reward if he is the first to solve the problem. While the computation for the miners takes a lot of effort, the calculation can be easily verified by other computers.
The Proof of Work or shortly PoW is a less efficient form of consensus. Miners consume plenty of energy, which has a negative effect on the environment.
Bitcoin miners have gathered into larger farms (see on the graph below who mine the most bitcoins), and currently they mine the majority of the chain, which makes us question how much the system is decentralized.
PROOF OF STAKE – POS
In a Proof of Stake model, computers get to validate based on how much can they bet on certain transactions. Those with the highest stakes confirm the block and get the transaction fee as a reward.
It is a more energy-efficient model as coins are not mined, but minted. The system can lead to 51% attack- malicious party or parties with big stakes teaming up to validate fake transactions.
To avoid it, there are four different ways designed to choose validators: delegated PoS, randomized PoS, coin-age-based selection, and randomized block selection. Currently, this model is used by EOS, Lisk, NxT, PeerCoin, Orbs, and Ethereum is also looking to switch to PoS as well.
Delegated Byzantine Fault Tolerance – DBFT
In Byzantine Fault Tolerance systems, we take it naturally into consideration that there are malign actors between our nodes. To make sure that the right transactions are added to the chain, multiple parties need to reach at least 66% consensus.
The delegated system uses bookkeepers with special equipment, a certain amount of stake and quality internet connection to validate. Blocks are calculated into a hash by the speaker and checked by multiple bookkeepers.
If the outcome is the same in 66%, the transaction will be added to the blockchain. Assuming that the speaker is dishonest and sends a fake message to the parties, then his transaction will not be approved by the majority.
Concerning that a delegate is corrupt, they cannot disarm a transaction alone. By using delegates, the system is not truly decentralized and can be overtaken by a majority of malicious actors. Currently, the NEO chain runs on this consensus protocol.
Proof of Work vs Proof of Stake? What is better?
There are plenty of other consensus models, as proof of activity, burn, elapsed time, capacity, identity, importance, weight or SIEVE, and a unique node list. There are even more protocols that are under development, and the technology will vastly improve in the upcoming years.
The principal difference better PoW and PoS system it is that proof of work needs to use an external resource such electricity in order to fuel mining. Proof of stake instead, does not require external resources.