The initial version of Ethereum (Frontier) uses a Proof of Work based consensus algorithm, but I see that there are plans to implement a Proof of Stake based consensus algorithm called "Casper" in a future version of Ethereum. What is the motivation for the move to implement Proof of Stake in Ethereum, when no other major blockchain is currently using this technology?
The fundamental flaw of Proof of Work (PoW) is that the costs of attacking the system are equal to what is spent to run the system. High security thus can only be achieved at high operating costs. The idea is that the honest participants just outspend the dishonest.
This is already today highly inefficient, but it does work for Bitcoin. As soon as the block subsidiary starts reaching zero, the ratio between the Market Capitalization and the costs of attacking Bitcoin becomes critical. Details are presented here.
Why Proof of Stake?
Proof of Stake (PoS) promises to solve this problem. An honest validator is expected to have very low costs, compared to the costs an attacker would incur.
- Less Censorship
Another problem Casper tries to solve is to disincentivize censorship. The PoW schema of Bitcoin is, more or less, a zero sum game. This means, if a miner loses a block (it does not get included in the main chain/ it gets censored), all other miners benefit from their loss. PoS for Ethereum will not be a zero sum game but instead a coordination game, where the rewards for everyone are highest, if every participant can include their blocks.
Finally some scalability problems can be addressed more easily with PoS.
There are two key motivations for the move to Proof of Stake:
- Ethereum developers and researchers believe that consensus algorithms based on Proof of Stake (PoS) can provide a higher degree of security for a given amount of resource expenditure, compared with Proof of Work (PoW) consensus algorithms.
- Ethereum developers and researchers believe that a new design called Casper resolves the important remaining issues with the current "state of the art" in Proof of Stake design. These issues include imperfect decentralisation and vulnerability to certain types of attacks, as well as other economic and performance considerations.
Both topics touch on issues worth elaborating in their own questions and answers, so I'll be linking to other questions as I summarise the main reasons for these two motivations.
disclaimer: I've contributed to the Casper research effort in a few small, oblique ways. However I have no formal relationship with the Ethereum project and I think my answer here is fairly objective in any case. Suggested changes are welcome.
Why would Proof of Stake provide more security for a given investment of resources than Proof of Work?
First, some background is useful. The goal of a consensus algorithm in a public blockchain network is to let many different users agree on the current state of the blockchain even though they don't trust each other or any central authority. This is a challenging problem, and until the Bitcoin network first solved it in 2008 by using Proof of Work (a.k.a. "mining", a.k.a. "hashing") no really good solutions were known. So the "performance" of the algorithm wasn't originally that important--the fact that it could be done at all was impressive enough.
After Bitcoin showed that a solution to public consensus was possible, new ideas such as "Proof of Stake" began to pop up in its wake. For a full explanation of the differences between PoW and PoS consensus, see here. Once new algorithms were proposed, the question turned from "does it work?" to "does A work better than B?"
There are several different ways to answer this question. One way to gain an insight into the potential promise of PoS protocols is to consider four factors in particular:
- The cost to cooperating "honest nodes" in the absence of hostile attack
- The cost to cooperating "honest nodes" during a hostile attack
- The cost to attacking "hostile nodes" if their attack is unsuccessful
- The cost to attacking "hostile nodes" if their attack is successful
By comparing these costs to block rewards and other potential gains we can estimate the amount of "honest node" resources required to both run the network and hold off an attacker of a given scale. This provides a reasonably fair way to compare the level of security provided by two different consensus protocols.
That is very complicated topic.
Considered Proof-of-Work waste energy to maintain security of a public censorship resistant consensus ledger. Though there is a long standing debate about this point. You can see for yourself that Bitcoin consumes more than $1 mln of value per day. Energy consumption on hash calculations is estimated to be around Iceland's energy consumption. That is the reason why a lot of smart guys are trying to solve that with Proof-of-Stake. There is a long technical article written by Vitalik to understand this subject more deeply.
In order to validate transactions and create blocks, a forger must first put their own coins at ‘stake’. Think of this as their holdings being held in an escrow account: if they validate a fraudulent transaction, they lose their holdings, as well as their rights to participate as a forger in the future. Once the forger puts their stake up, they can partake in the forging process, and because they have staked their own money, they are in theory now incentivized to validate the right transactions.
Proof-of-stake systems are more environmentally friendly and efficient, as the electricity and hardware costs are much lower than the costs associated with mining in a proof of work system. A greater number of people are encouraged to run nodes and get involved because it is easy and affordable to participate in this system; this results in more decentralization.
protected by soc1c May 15 '17 at 9:06
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?