This file has been truncated. show original
Proof of Stake
The goal of this paper is to show that Proof of Stake blockchain consensus does not work. We take the very general definition of Proof of stake consensus: any blockchain consensus mechanism where your influence over which block is added to the chain is proportional to some value that you own inside the blockchain's consensus state.
There have been many attempts to prove that PoS blockchain consensus does not work.
Paul Sztorc proved that PoS can't be used for distributing new tokens http://www.truthcoin.info/blog/pow-cheapest/
So PoS can not completely replace PoW.
Vitalik explained about some ways to attack PoS, and the design strategies they used to prevent these attacks https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/
Nothing at stake problem. This was an attempt to show that PoS does not work because it costs nothing to participate in all possible histories. This problem was solved by requiring validators make a deposit that can get destroyed if they participate in multiple versions of history.
Long range attack. This was an attempt to show that PoS does not work because it is always possible to rebuild history by buying up all the worthless private keys from some point in history. This problem was solved by having the validators lock money for long enough periods of time, so that their private key isn't worthless for that time period. This way there is a long enough period of time so that enough of the participants in the network can sync recent blocks so that we can have consensus. Basically, it is a checkpointing system.
Incentives problem. This was an attempt to show that PoS does not work because it is impossible to align the incentives of the validators with the success of the network. This problem was solved by integrating futarchy elements into the PoS consensus.