2

According to the "Fork choice rule" in Ethereum 2.0 (sharding), how to choose a branch in a fork? (A) or (B) ?

(A) branch, which has the most blocks in it. (similar to "longest chain" rule in PoW)

(B) branch with more attesters across all the blocks.

For example, assuming two following branches in a fork:

(1) branch one: including 10 blocks, signed by 8 unique attesters.

(2) branch two: including 8 blocks, signed by 10 unique attesters.

According to the "Fork choice rule" in Ethereum 2.0 (sharding), which above branch in this fork will be chosen? (1) or (2) ?

1

The fork choice rule in Ethereum 2.0 is called LMD GHOST.

The basic answer to the question is branch 2: the branch with the most attestations/votes.

There are many other details to the fork choice. For example, votes are weighted by stake, and votes on uncle blocks are counted.


References:

https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/fork-choice.md

https://arxiv.org/abs/2003.03052

https://github.com/protolambda/lmd-ghost

1
  • And what if all parameters (number of attestations/votes, the weight of votes according to their stake) are the same? In a such situation in PoW (where two branches have same difficulty) a set of miners work on branch (1) and others on branch (2). And what happens here? – Questioner Mar 12 '20 at 12:42

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.