Skip to content
Danny Ryan edited this page Feb 26, 2018 · 2 revisions

Correct-by-Construction Casper Explain Like I'm 5

There are a bunch of computers all around the world, and we want them to agree on either the number 0 or the number 1. However, these computers aren't very good (e.g. that horrible Dell laptop you used to have). They crash a lot and sometimes act very strangely for no reason.

What if some of the computers tell different computers different values? How can we make sure that all the computers that work properly will output the same number?

Luckily, we can use Correct-by-Construction Casper (CBC Casper) to help these computers agree on one of the numbers, even if some of the computers happen to crash, or lie, or act in strange ways.

CBC Casper isn't the first protocol that helps computers agree. There are many protocols that help computers come to agreement on a 0 or 1. What's cool about CBC Casper, though, is that we can use the same "framework" for agreeing on a 0 or 1 to have computers instead collaborate to build a blockchain. In fact, using the CBC Casper framework, there are lots of things that these computers could agree on: a choice between 0 or 1, a random number, the order of a list, a blockchain, and many more!

All of these protocols for coming to agreement are part of the CBC Casper family. That is, all of these protocols work in the same general way. This makes a lot of things simpler, as we can share a lot of the program between different protocols.

Finally, it turns out the CBC Casper protocol that is built to allow computers to come to agreement on a blockchain (called Casper the Friendly Ghost) is incredibly well suited for something called Proof-of-Stake. Proof-of-Stake is essentially a way of having a blockchain be built, in a decentralized manner, without the need to waste a ton of energy!

Clone this wiki locally