The Ultimate Guide To Proof Of Work (PoW) & Proof Of Stake (PoS)
The term “Proof of Work” was coined by Markos Jakobsson and Ari Juels in a document published in 1999. However, it came under the spotlight when Satoshi Nakamoto used it in Bitcoin’s whitepaper back in 2008. It was probably Bitcoin’s main selling point because it allowed trustless, distributed consensus, and also acted as the main deterrence against cyber attacks.
But before delving into the PoW, we need to understand what it means by a trustless and distributed consensus?
In a trustless and distributed consensus system, we don’t need to have a third party involved in order to transfer something of value to someone. In traditional transactions, for example, we need to trust a third party like Visa, Mastercard, etc., for our transactions. This trust is vital between parties. In Bitcoin and other digital currencies, everyone has a copy of the ledger, so no one has to trust the third-party: anyone can directly verify the information and confirm the authenticity of the transaction.
Proof of work is therefore a prerequisite that needs to be performed in order to create a new block of trustless transactions in the distributed ledger. It is achieved through mining, which serves the purpose of verifying the legitimacy of a transaction and creating new digital currencies by rewarding miners.
So what exactly happens when you set up a transaction?
1. Transactions are bundled together into a block
2. Miners verify the transactions in each block
3. In order to validate, miners solve a complex mathematical puzzle known as a proof of work problem
4. A reward is given to the first miner who solves the puzzle & verifies the transaction
5. Verified transactions are stored in the public blockchain
There are several advantages of using this consensus mechanism:
1. It is very simple to implement
2. No extra information is required to be exchanged between nodes in achieving consensus
3. It’s safe from attacks, unless someone owns 51% of the network or computing power. This is virtually impossible considering the size of the bitcoin network and its considerably high hash rate
However, this approach is far from perfect. There are some major disadvantages of using PoW which makes it a poor candidate for a system that is aiming for a global adoption of the blockchain technology. It is very energy-consuming — currently, miners around the world are building mining farms and are consuming around 24 TWh of energy — equivalent to what Ireland as a whole consumes. Moreover, because existing bitcoins are limited, the more that bitcoins are mined, the fewer there are to be mined. So as mining grows, it becomes difficult and increasingly time-consuming. Based on PoW, the Bitcoin network takes about 5–7 transactions per second, which not only deathly slow but also hard to speed up. Mining also brings together people with a lot of money to buy the best equipment for mining and influence the network for their personal — this an be very dangerous and can make the whole system centralized within a decentralized network. Above all, this technique is unfit for commercial applications.
That is where Proof of Stake comes in. The main argument behind the implementation of Proof of Stake is that making everyone compete for mining power is wasteful and time consuming, so instead, we can have an election process in which one node is chosen at random to validate the next block. Proof of stake therefore has no miners but validators. Users don’t mine blocks but instead mint or forge blocks. However, choosing validators is not entirely a random process. To become a validator, prospective validators need to deposit a certain amount of coins or tokens into the network as a stake.
We can think of it as a security deposit, and that amount of security deposit is, interestingly, linearly correlated to a user’s chances of becoming a validator to forge the next block.
If a node is chosen to validate the next block, it will check if all the transactions within are indeed valid. And if everything checks out, the node signs off on the block and adds it to the blockchain. As a reward, the node receives the fees that are associated with each transaction.
Now, the question becomes how can we trust other validators on the network? That is where the ‘stake’ comes in. Validators will lose a part of their stake if they validate or approve fraudulent transactions. As long as the stake is higher than what the validator gets from the transaction fee, we can trust them to correctly do their job, because if they don’t, then they will lose their stake. It’s a financial motivator that holds up as long as the stake is higher than the sum of all the transaction fees. If a node stops being a validator, his stake plus all the transaction fees that he earned will be released after a certain period of time. It is not given straight away because the network still needs to be able to penalize you, should they discover that some of your blocks were fraudulent.
Because of the mining pool phenomenon in Proof of Work, there are chances that people might collude together to increase their chances of mining a new block and thus get all of the reward. This centralizes the mining process and that is dangerous. Proof of Stake doesn’t allow mining for new blocks, therefore, miners cannot game the system by investing heavily on new equipment. It’s also a lot more decentralized because now, more people are motivated to become validators since no extra hardware cost is required and the network grows.
But even PoS isn’t without flaws! PoS algorithms have to be careful about how they select the next validators. It can’t be completely random because the size of the stake has to be factored in. But at the same time, the stake alone isn’t enough because that will only favor well-funded users who in return will be chosen frequently as validators and get even richer. In a PoS network, major stakeholders have a technical ability to make any changes they like without the consent of the stakeholders in the network. This results in centralization of voting power and defeats the purpose of a distributed ledger-based cryptocurrency. It can also sometimes leads to the “nothing-at-stake” problem, wherein block generators have nothing to lose by voting for multiple blockchain histories, thereby preventing a consensus from being achieved.
So in an ecosystem where decentralization is of utmost importance and we can’t afford to create another virtual social class, is there any better algorithm than Proof of Work and Proof of Stake that can help us achieve pure decentralization and pave the way to the global adoption of blockchain?
Jura’s Proof of Utility (PoU) consensus mechanism is the answer. Stay tuned to learn about it.
— The JURA Team
JURA is defining the future of blockchain and we want you to be a part of our mission. So share this article and don’t forget to follow us on our social media to stay updated.