6

A blog post says this about block proposals in Casper:

A NXT-style random number generator is used to determine who can generate a block at each height; essentially, this involves taking missing block proposers as a source of entropy.

Making blocks is a process that takes place independently from everything else: validators gather transactions, and when it comes time for them to make a block, they produce one, sign it and send it out to the network.*

How many of the (up to 256) validators have the right to make a block proposal at a given height?

If my understanding is correct, during block proposal, there may be parallel competing blocks at the current height because the consensus-by-bet process has not entirely converged yet. Can a validator place his block proposal on top of any of these top level blocks? While doing so, could he choose one or several of the remaining top level blocks as uncle(s)?

5

There is precisely one validator with the right to create a block at any given height, randomly (but deterministically) chosen from the validators, weighted by their stakes. If that validator fails to do so, or their block is rejected by the rest of the network, then there is just a "hole" in the chain where that block would have been.

This can happen because CASPER works differently than most other algorithms in that consensus is per-block, not per-chain. Blocks aren't built "atop" other blocks, they just exist at a given height, and only one block may be at a given height in the canonical chain. There's not a link to the previous block.

Whenever the most likely candidate for a height changes (possibly to or from "no block") the final state of the blockchain is recalculated by running transactions in accepted blocks. This, in turn, works because any properly formatted transaction is a valid transaction. If a transaction occurs in two blocks, it most likely just does nothing the second time.

  • What is the entropy source for the election? – Ini Feb 21 '18 at 15:18
  • This is actually a description of an old version of Casper. It's been years, and I don't remember if there was ever a source of entropy that was agreed upon in this version. – Matthew Schmidt Feb 21 '18 at 21:03
  • This is one of the most important topics in non PoW consensus algorithms. Do you how it is implemented on the testnet? The github docu says nothing specific. – Ini Feb 22 '18 at 3:35
  • The current CFFG form of Casper is a hybrid of PoW-PoS. The standard Ethash PoW creates blocks, and the Casper contract finalizes them. There hasn't been consensus on a pure PoS proposal mechanism yet. – Matthew Schmidt Feb 23 '18 at 11:11
  • 1
    Ah, I think I see the source of confusion. There are no "proposals." As I understand it, validators asynchronously vote on whatever block they so please, and if any block accumulates enough votes, it becomes finalized. (The actual mechanism is more complex than that, of course.) There's no intermediate selection of a candidate by a specific validator. – Matthew Schmidt Feb 26 '18 at 20:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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