Safety Under Dynamic Validator Sets

Each validator’s incentive in synchronous proof of stake (with dunkles) is to vote on the chain that they believe is most likely to end up being the canonical chain, and thereby themselves increase the chance that this will be the case; this creates a positive feedback loop, which causes the system to continuously converge on one ever-growing canonical chain.
The left chain eventually grows “longer”, as block proposers show up 90% of the time on left and 40% of the time on the right, but it’s clearly not the chain that we want to be canonical — intuitively we want the chain that has the most staking ETH.
Whoops, no more intersection!
Graphical proof that if every block is finalized, and every block contains a commitment to the next validator set, then if two conflicting blocks are finalized that implies a conflict within a single validator set, which can then be used to slash offending validators.
Left: 2/3 commits on the first checkpoint got into the blockchain in time for the next checkpoint, so the next checkpoint on the left includes both A and B as validators. Right: the commits did not get in, so the next checkpoint includes only A as validators. If both checkpoints at the top finalize, 1/3 of A gets slashed.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store