Protocol

乙太坊 2.0 中的分叉選擇規則?

  • March 12, 2020

根據乙太坊 2.0(分片)中的“分叉選擇規則”,如何在分叉中選擇分支?(A) 還是 (B) ?

(A) 分支,其中有最多的塊。(類似於 PoW 中的“最長鏈”規則)

(B) 在所有區塊中擁有更多證明者的分支。

例如,假設一個 fork 中有兩個以下分支:

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

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

根據乙太坊 2.0(分片)中的“分叉選擇規則”,這個分叉中的上面哪個分支會被選擇?(1) 還是 (2) ?

乙太坊 2.0 中的分叉選擇規則稱為 LMD GHOST。

這個問題的基本答案是分支 2:擁有最多證明/投票的分支。

前叉選擇還有許多其他細節。例如,投票按權益加權,對叔塊的投票進行計數。


參考:

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

引用自:https://ethereum.stackexchange.com/questions/80537