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.
The above answers contain good arguments about the drawback of PoW
- scalability: PoW schemes require propagating new candidate blocks to all miners around the world, and occasionally miners will split and do work on a chain that ends up being orphaned / not the longest. This happens for brief moments all the time, and in Ethereum these "almost blocks" help secure the chain as "uncles" and distribute a lesser block reward to uncle-finders, as opposed to Bitcoin blocks which only have one predecessor and only reward the miner that finds the latest block.
- environment / climate concerns: PoW schemes consume a lot of electrical energy, some of which is generated by burning fossil fuels which may contradict your social values
I'll answer your other concern: why didn't Bitcoin use PoS from the beginning, and why don't most other coins use it?
Proof-of-stake is more difficult to implement and prove its correctness formally, in the theoretical computer science / mathematical sense. There is one coin, NXT (now Ardor) which uses proof-of-stake since 2014, but it has a small number of miners and is not as well-known as other chains. Proof-of-work itself was a big gamble and a big leap for 10 years ago, but if Satoshi Nakomoto had known how to implement proof-of-stake in a secure way for Bitcoin, he probably would have done so. Bitcoin was an unknown coin at the time worth fractions of a penny, so if the network were compromised with a 51% attack, very little was lost, so it's okay just to YOLO and ship your code out to the world.
The majority of all altcoins use a fork of the Bitcoin codebase and have changed very little about it other than swapping in a new PoW algorithm, changing the blocktime, etc. They benefit from a 10 year track record of security, but are also hesitant to "rock the boat" by adding anything significantly new, so they are also saddled with the problems and unintentional design problems of Bitcoin.
Ethereum is a multi-billion dollar network now, at current prices, so its governing foundation and users are more cautious and considering many more failure scenarios. That being said, there are at least 5 different teams working on compatible Ethereum 2.0 clients that recently (Sep 2019) were able to sync up on the same testnet in Ontario, with a target launch date of Ethereum 2.0 mainnet (the beacon chain) in January of 2020.
The Ethereum community has shown an ability to recover from hacks and failures in the past, so in my opinion, this launch will only be another period of continued testing, learning, discovering of problems, and improvement. In 10 more years StackOverflow users will be asking "Why do some cryptocurrencies stick with Proof-of-Work for so long when we now have a clearly better alternative?"