Vitalik Buterin’s Blog Shares His Proof-Of-Stake Algorithm Research
Vitalik Buterin has been working on Proof-of-Stake for some time now. Proof-of-Stake is a complex puzzle of integral components; each needing to be specially crafted and honed to fit perfectly into the system. In the switch from Proof-of-Work to Proof-of-Stake, the network will achieve consensus through validators instead of miners. These validators will stake a portion of their Ether as a deposit. Once a staker is accepted as a validator, their locked-up Ether effectively becomes a virtual miner. According to Buterin, in PoS, there is a pool of validators “which anyone is free to join, with some delay, by submitting a deposit, and which any participant can leave and then, after some much higher delay, withdraw their funds.”
In a Proof-of-Work system, bad actors are weeded out by technological and economic factors. To mount an attack on a PoW network, you need to spend more money to buy better hardware so you can attempt to outpace legitimate miners. This becomes very expensive, very quickly. In a PoS system, however, the underlying algorithm that governs the system must be as bulletproof as possible. That’s because, without specially designed penalties, PoS could be cheaper to attack than PoW.
Buterin has been hard at work on his PoS algorithm, the Casper protocol, attempting to solve this particular issue. He’s looking to design his algorithm in such a way that it reaches economic finality, meaning the network is resistant to tampering or being “rolled back” to a false state – having a history of events different from what actually took place.
In his most recent Medium blog post, Vitalik said, “Economic finality is accomplished in Casper by requiring validators to submit deposits in order to participate, and taking away their deposits if the protocol determines that they acted in some way that violates some set of rules (‘slashing conditions’).” Buterin’s blog details the algorithm that sets the “minimal slashing conditions” of his version of a PoS network.
Slashing conditions refer to the set of circumstances under which a validator might lose their deposit. Buterin suggests thinking “of slashing conditions as being like laws that you are not supposed to break.” His latest research has been into how to incentivize, anticipate, and penalize the actions of validators in a network governed by a Proof-of-Stake consensus algorithm.
The goal of Buterin’s research is to make a system that is “Byzantine-fault-tolerant, safe-under-[asynchrony] and cryptoeconomically safe.” Byzantine-fault tolerance indicates that a system is safe even if a node silently fails and starts generating arbitrary (or malicious) data that appears legitimate. For a system to be safe-under-asynchrony, the network must continue operating normally even when events are happening independent of the main program flow, like if nodes become out of sync, which would lead to consensus issues. As far as keeping a protocol cryptoeconomically safe, that means making sure there is no incentive to act dishonestly, and could even involve introducing economic penalties for dishonest actions, like what is planned with Casper.
Regarding how Casper will reach consensus, Vitalik has proposed using two rounds of agreement, starting with a “prepare” phase and followed by a “commit” phase. Those terms are borrowed from traditional Byzantine-fault tolerant consensus theory, and they’re all about keeping a system honest when the honesty of validators can’t be directly confirmed or known. He’s attempting to design a system where honest actors are guaranteed the safety of their deposits, as long as they follow the protocol. Slashing conditions will only be met by those trying to either game or attack the system.
All of Buterin’s Proof-of-Stake research is integral to the growth and development of the Ethereum platform, but that’s not the only area of active research for the Ethereum Foundation. According to Buterin:
“This is a similar kind of research to what is being done for sharding, and there is an intimate connection between the two — the first approach described above requires the validator themselves to be a full node, whereas the second does not, and sharding is ultimately all about creating a blockchain where no one is a full node. Expect to see more blog posts on this topic later.”
Along with the switch to PoS, sharding will be one of the improvements that greatly advances the Ethereum platform. As Ethereum continues to evolve as a network, it will only benefit from this level of transparency and active community outreach. By laying bare his algorithms for the world to see, Buterin is removing any need to blindly trust participating in a blockchain-based network. The whole idea of the blockchain is to remove trust, and by showing his algorithms to the world, Buterin is making sure Ethereum users will know exactly what they’re getting into.
If you’re interested in the specifics of Buterin’s minimal slashing conditions, check out his detailed blog post. If you’re also curious about the process of formally proving the safety and liveness properties of his minimal slashing conditions, then check out Yoichi Hirai’s even more technical blog post from last week.