CASPER represents a security deposit protocol that relies on an economic consensus approach. Accordingly, nodes across the network, which are called “bonded validators”, must pay a security deposit, along an action named “bonding”, in order to be part of the consensus via means of block production. Casper determines the amount of rewards received by the validators mainly through the protocol’s control over security deposits. Whenever a validator produces a block that is considered “invalid” by Casper, his/her security deposit will be forfeited as well as the privilege to participate in the network’s consensus. Using addresses for security deposits, raises the problem of “nothing at stake” which implies that deviating away from the blockchain protocol will more probably put you at a demerit rather than a merit.

A scratch off puzzle represents a tuple (d, , t0, γ) and a group of 3 algorithms:

G (1λ ) → params

Work(puz, m) → ticket

Verify(puz, m, ticket) → {0, 1}

d is the mean difficulty, is the amount of work per each puzzle, t0 is the algorithm initialization overhead and γ represents the amount of adversary advantage over honest workers. For optimum conditions, γ has to be kept as close as possible to 1. G initializes all of the public parameters. Work formulates a puzzle instance, puz, and a payload, m, to generate a ticket instance, ticket. Verify will formulate a puzzle instance, a payload and a ticket to generate one of two outputs; 1 or 0.

Without much loss, the algorithm representing honest work can be formally represented by:

3- γ-Incompressibility:

The work needed to solve a given puzzle has to be “incompressible”. The best available adversary should not possess the ability to increase the work speed more than by a factor of γ. This can be represented by:

Note that Q represents a transcript of work queries by the Aversary A. The non-malleability property (IND-CCA) is included into this definition. The adversary will be able to observe as many valid puzzles, ticket instances and payloads as he/she wants, but he/she won’t be able to create his/her own without performing work.

Accordingly, we can propose the ζ function from the above as:

What Is CASPER?

CASPER is a new proof of stake (PoS) consensus algorithm, which satisfies the requirements of ethereum’s scratch off puzzle, for implementation on Ethereum’s blockchain, that is pillared on the following principles:

1- Security deposits: stakeholders are required to make security deposits behind blocks. Whenever a security deposit is placed behind a block, it can introduced as a transaction that is part of an incompatible block aiming at destroying the security deposit of a validator. A block can be only marked as “finalized” when a large number of the network’s validators place security deposits behind it.

2- Consensus by bet: Philosophically, the security deposit concept is extended to become a concept of “bets”. Within a PoS system, a bet is a transaction which, according to the consensus incentivization rules, will reward you with X coins along every chain that includes a block that you have bet on, in exchange for taking Y coins from you for every chain that doesn’t include that block. A proper scoring rule should be used to set the values for X and Y. CASPER is based on the principle that validators bet according to the bets of other validators and rational play represents a loop of positive feedback that accelerates consensus. “Finality” is determined by 2/3 of validators willing to bet on a block that is large enough so that Y would be equal to their overall deposits.

3- By-block consensus: it is a yes/no vote casted separately on each block height. The inclusion of a block doesn’t simply denote inclusion of any block at any given previous heights.