7

Ethereum plans to move to the Casper proof of stake algorithm in a future release named Serenity. There's a comment that Casper's "basic mechanisms are fairly firmed up now".

What are the details of the Casper algorithm that have not been specified yet? What are the open issues and known unknowns about Casper, in rough order of importance?

1
  • Latest Casper and other research is at ethresear.ch
    – eth
    Commented Apr 7, 2018 at 22:51

4 Answers 4

4

March / April 2017 Update from Vitalik Buterin about Casper

Relayed by Jim Manning in Eth News

Still needing to get done:

(1) Completing the code of the CASPER contract (3/4 done).

The 25% remaining to be implemented is:

  • A sequence number mechanism on messages (needed to fully verify slashing conditions)

  • Switching from checking ECDSA signatures to checking arbitrary validation code

(2) completing the validator daemon logic (in progress)

The validator daemon would be a program that runs off-chain (not on the blockchain, but on a user’s machine) that interacts with the Casper contract so a node knows when to send the proper messages (more on prepare/commit messages can be seen here) to validate a block.

(3) completing the fork choice rule (in progress)

The fork choice rule will be a piece of code that every node is running in order to determine what exact conditions the canonical (longest) chain will be made under. This is to ensure that a node bets on the winning chain. If a node bets on a false (malicious) chain, that node (validator) loses its deposit. This is a very important aspect of securing a blockchain network, as it is where consensus is determined regarding which blockchain is the canonical chain.

(4) The issue of the minimum size of validator deposits. i.e. "how much ETH do I have to stake to offset the gas costs (transaction fees) of sending prepare/commit messages and make a profit?"

VB's answer:

This is a tricky issue. Here there is an implied minimum because you have to pay gas to prepare/commit, and so altogether it's not profitable unless you deposit at least 1000-4000 ETH. One possibility that we're thinking about is in later stages hardforking in a discount specifically for execution associated with this contract, but that's still nowhere near finalized.

All excerpted from this April 5, 2017 article by Jim Manning: https://www.ethnews.com/proof-of-stake-vitalik-buterin-shares-casper-contract-code

6

Credit: @Vitalik in the Ethereum Research Gitter Chatroom:

As of January 11, 2016:

  1. How should the staking rewards and penalties (more precisely, the parameters for the scoring rule) for CASPER be set?
  2. How many validators should CASPER have? Given this value, how should we target it?
  3. What is a good target level of participation (as in, % of all ETH staked)? How should we target this value?

For (1) and (3), keep selfish mining concerns in mind; basically, you want to try to make validation NOT a zero-sum game to mitigate the risk of such strategies.

  1. How exactly should the sharding be implemented from a data-structure standpoint (fixed # of shards, variable # of shards, the binary scheme Vitalik presented at devcon, etc)? Should there be sharding at the sub-contract level? While thinking about this, keep in mind the target use case of a developer trying to create a scalable crypto-token in an HLL on top of this scheme.
  2. How should transaction groups be validated? (eg. what kind of random sampling scheme)
2

The current problems are...whether or not it will work really. Basically the algorithm can be boiled down to acting like a prediction market. This should work in theory but whether it works practically in reality is another matter. But we'll know more once it is on the test network. Until then, there's not a whole lot to critique as it is still being developed.

2

November 2017 (post Devcon3) Update:

Complete

  • Casper Friendly Finality Gadget ("Vitalik's Casper") specification and PoC code
  • Casper The Friendly GHOST ("Vlad's Casper") safety proof paper and PoC code

In Progress

  • Casper FFG testnet (pyethapp / pyethereum)
  • Casper FFG cryptoeconomics (parameter optimization)
  • Capser FFG block proposer
  • Casper TFG liveness proof

Casper FFG will be implemented before Casper TFG.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.