3

I am curious about some details regarding a GRANDPA round (explained in detail).

  1. An elected validator that is designated as the primary broadcasts the highest block that it thinks could be final from the previous round (ref).
  • Question 1: How is this primary chosen?
  1. The elected validators gossip a pre-vote for the highest block that it thinks should be finalised.
  2. Each elected validator computes the highest block that can be finalised based on the set of pre-votes. If the set of pre-votes extends the last finalised chain, then each elected validator will gossip a pre-commit to that chain.
  • Question 2: in order to make a pre-commit, does a validator need the pre-votes of all the elected validators?
  1. Each elected validator waits to receive the pre-commits to form and gossip a commit message on the newly finalised chain.
  • Question 3: in order to make a commit, does a validator need the pre-commits of all the elected validators (ev) or is (2/3ev + 1) enough?
  1. Now all the elected validators have the commit message, the BABE selected author includes it in the new block as part of the justification.

Thanks in advance.

1 Answer 1

1
  1. Once a certain threshold of pre-votes has been received, a primary block is selected. This is the block that will be finalized in the current round. The primary block is the block with the most pre-votes, and it must also have at least two-thirds of the total nominators behind it.

  2. No, a validator does not need to have the pre-votes of all the elected validators in order to make a pre-commit. Once a certain threshold of pre-votes has been reached, a primary block is selected for finalization in the current round. The nominated validators then send pre-commits for the selected block.

  3. No, a validator does not need the pre-commits of all the elected validators in order to make a commit

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.