I do not understand how the proposal mechanism illutstrated here works.

A proposal mechanism is a mechanism that proposes hashes, which the rest of the machinery with PREPARE and COMMIT messages then tries to finalize. The mechanism may well be faulty at times; it’s the job of the slashing conditions to ensure that even if the proposal mechanism is faulty, there are no safety failures and the protocol can finalize something once the proposal mechanism stops being faulty.

From the above quote it seems that the proposal mechanism propose an hash before than the validators send PREPARE and COMMIT messages.

How are block proposals made in Casper? is the best answer that I can find on stackexchange but I think that is related to another algorithm.

Here some doubts that I have:

  1. How the validator that proposes the hash is chosen?
  2. What happens if the validator is offline?
  3. Must the validator use a message like PREPARE and COMMIT to propose an hash? Something like [PROPOSE, epoch, HASH, epoch_source]
  4. There are slashing conditions for the proposer?
  5. Must a validator send PREPARE messages only for proposed hash?
  6. The proposed messages are included in the state?

1 Answer 1



SOURCE: https://gitter.im/ethereum/research

Ben Mahala @Lisk115 mag 06 13:38 you prepare and commit an existing blockhash to finalize it. validators generate new blockhashes depending on the selection algo. Every validator can prepare and commit (and get rewards) every block.

Filippo Merli @Fi3 mag 06 13:45 ty. If a validator propose a bockhash that is not finalised the validator is slashed?

Ben Mahala @Lisk115 mag 06 13:45 No, you're only slashed if you equivocate (eg send conflicting prepares and commits). https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#how-does-validator-selection-work-and-what-is-stake-grinding

Filippo Merli @Fi3 mag 06 13:46 ok ty. Last thing what happen if a validator propose an hash that can not be finalised? Are there consequences?

Ben Mahala @Lisk115 mag 06 13:49 No, not as a slashing condition anyway, but I don't know the current details of block generation. There would probably be something to keep people from spamming bad blockhashes out of order. Probably would keep other nodes from even accepting it. you're not rewarded for generating blockhashes (I believe), just from sending valid prepares and commits. And it is done on chain. There's a work in progress casper contract somewhere around here. Let me see if I can find it

Ben Mahala @Lisk115 mag 06 14:02 https://github.com/ethereum/casper

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.