Proof of Work vs Proof of Stake: The Devil is in the Details
There’s quite a fiery debate going on over which of these consensus mechanisms is the best. Here’s our take on Proof of Work vs. Proof of Stake.
In order to really explain the reasoning behind why one consensus model may be better than another, you first have to adequately understand how each works on its own. Right? Looking to get bitcoin mixer links?
Of course! This is how we make informed decisions. When it comes to consensus mechanisms- or the way by which any particular cryptocurrency market reaches an agreement that the transactions submitted are real and verifiable- there are a few different systems in play.
Easily the two most notable and widely used systems of verification are Proof of Work and Proof of Stake. There is some ongoing contention regarding which system is better for the crypto sphere. As a general rule, Proof of Work is implemented far more often than proof of stake, however, it has some pretty significant drawbacks to it. Further integrating proof of stake into existing proof of work systems would require an entire network overhaul- making it largely prohibitive.
But- first things first. What exactly is proof of work and proof of stake anyway? Or better yet: What’s a consensus mechanism?
Proof of Work vs Proof of Stake: Verifying Transactions with Decentralized Currency
Say you’re looking to buy some cookies from Bob. In order to do so, you run to the ATM, pull cash out of your bank account, and then head over to Bob’s cookie shop. Once there, you make your selection, pay Bob the money he asks for, and leave, the cookie in hand. Bob then takes that money you’ve just given him and at the end of the day, deposits it in his own bank account.
In this scenario there are a few centralized transactions taking place:
- The money you took from the ATM
- The money Bob then deposited
In order for the ATM to verify that your account has the funds necessary to withdraw, they must first contact your bank- a centralized authority. The ATM (another type of centralized authority), verifies these funds and proceeds with the transaction of giving you cash.
When you hand the money over to Bob, this is a decentralized transaction. As there is no middle man, or centralized authority that is overseeing this transaction. These types of transactions are known as peer-to-peer. Once Bob takes that money and puts it into his bank, however, we’re right back to the centralized transaction format. The intermediary (bob’s bank) must first verify that those bills are real, and then verify that the proper amount has been added into Bob’s bank account.
In this example, the centralized authority (the bank) is saddled with the responsibility of verifying that these transactions happened and were made with authentic funds. This keeps people from saying they deposited (or withdrew) funds when they didn’t. And it also stops people from depositing or withdrawing fake funds.
In cryptocurrency- there is no centralized authority. So who ensures that the funds are real and that the transaction took place?
The answer to that question is the entire network itself. The cryptocurrency’s public. This is possible because of the publicly distributed ledger system known as the blockchain, as well as the use of independent validators. Random people who use the cryptocurrency themselves are chosen to validate transactions and authenticity. Distributing not only the transactional records but the issuing authority, to everyone that has a stake in the crypto. Ensuring that no one entity is responsible for the maintenance and validity of the system. This is a consensus mechanism- the agreed-upon method in which validators are chosen and transactions are verified.
What is Proof of Work?
Proof of work is a type of consensus mechanism that cryptos like bitcoin and ethereum use. It’s the oldest functioning form of consensus mechanism in modern cryptocurrency.
Cryptocurrencies use cryptography to ensure that no transaction can ever happen twice. Cryptography, in this sense, is a type of incredibly convoluted mathematical algorithm. A unique signature, called a hash, is used to identify each part of any given transaction. All of these hashes come together to form a complicated and fully unique, algorithm.
These individual algorithms are then solved using computers. Because each equation is different, and each is so incredibly difficult to solve- only computers can realistically find the solutions to verify that the equations are different from every other equation that’s been attempted. Proving that the transaction is unique and solvable, also proves that it’s authentic.
A computer will run the algorithm over and over and over until it finds the correct solution to the mathematical puzzle. There is only ever one correct answer to any given algorithm. In a proof of work scenario- there are hundreds of individual computers (called nodes) competing to be the first to solve any given algorithm. The owner of the first node to solve the equation is rewarded with whatever cryptocurrency they are working in.
A node owner is called a miner, therefore a bitcoin miner will be awarded bitcoin; while an ethereum miner will be awarded ether, and so on. The nodes that are attempting to solve the equations are working as validators. They’re considered validators because, as you’ll remember- it’s these solved equations that prove the transaction is valid. Once validated the transaction is then added to the blockchain.
While this is a simplified version of what happens in most proof of work scenarios, there are slight differences and subtle nuances that occur on different networks. But for the big picture- this pretty much sums it up.
In proof of work scenario, validators aren’t chosen. Instead, every node/miner on the network works to solve every equation at the same time. Each competing against the other for the prize. Which, as you might have noticed- makes the entire system fairly inefficient.
This is the basis for why many people believe that proof of work systems are quickly becoming outmoded. Because the system doesn’t designate individual validators, it’s incredibly energy-intensive. This is because the network devotes every available resource, to each and every transaction.
In order to solve these intensely difficult mathematical equations, computers have to work really hard for long periods of time. Anytime a computer works hard, they use a ton of energy and also produce a mass amount of heat (requiring further energy to cool them off). The other problem that proof of work systems present, is that only a few amounts of transactions can be solved at any given time.
These systems become woefully inefficient at processing higher numbers of transactions because every resource on the network is devoted to each individual transaction. Instead of choosing a few validators to work on a few transactions- effectively freeing up other nodes to work on different transactions- the entire workforce is devoted to just one thing.
What is Proof of Stake?
Because of these inherent issues with a proof of work system, other types of consensus mechanisms have been created. One of those being proof of stake. Proof of stake circumvents a large amount of energy consumption required, as well as improves the scalability of throughput.
In a proof of stake scenario, transactions are verified in largely the same way. Complex mathematical algorithms run and solved by nodes to verify that each transaction is unique and authentic. What changes in the proof of stake model is how those validators are chosen, as only validators with the right amount of stake are selected.
Essentially, proof of stake systems works similarly to “job bid” systems. Where each potential validator puts up an amount of cryptocurrency (stake), bidding for the chance to be a validator. The stake that is put up is then “locked up” and unusable until the validator is selected and the verification has been completed. Following verification, the validator is then given back their stake and rewarded for their efforts.
There are a number of different rules and models used for how to put up a stake, what’s required of the stake, and how the winning validator is chosen from all of those that bid. Each proof of stake system is allowed to implement their own unique way of deciding these things.
However, once the validator is chosen, it’s that node that solves the equation. Leaving other validators available to stake and solve other equations. Thus, better-distributing computing power amongst all transactions on a network, reducing energy demands, and improving throughput.
A proposed disadvantage to the proof of stake model has to do with the fact that it requires validators to have an immense amount of that particular cryptocurrency, to begin with. Effectively making the rich, richer.
However, weighed against proof of work, this concern is often disregarded; as in a proof of work scenario, the person with the fastest (read: most expensive) computer wins the prize. Also making the rich, richer.
Another issue that could potentially wreak havoc in a proof of stake system is the possibility that one transaction could be proven multiple times, as there are multiple transactions being validated at once. So if someone was able to transact funds to one person, and then transact those same funds before either transaction was validated- they could ostensibly send the same funds twice.