Blockchain

Etherscan 分叉塊的重組深度不正確?

  • April 23, 2020

我突然發現今天在 Etherscan.io 上發生了一個深度為 3 的重組。叔塊在高度9919331,雜湊是0x3b1161a8bdf5107f1dc2092781798d143b5ae66b6604823630b57f5d9450e1cb. 但是我進一步檢查了區塊鏈歷史的結構,發現結構是這樣的:

0xa0f0 => 0xc535 => 0x7ea3
       \
         0x3b11

0xa0f0, 0xc535,0x7ea3表示規範鏈中的塊(其雜湊的前 16 位),而0x3b11是由 Etherscan 報告的具有 reorg-depth 3 的叔塊。 的雜湊0x3b11作為叔塊包含在塊中0x7ea3

我很困惑為什麼 Etherscan 將這個叔塊報告為 reorg-depth 3。似乎這個 reorg 只丟棄了一個塊(即0x3b11)。這是 Etherscan 中的問題嗎?還是有一些我忽略的叔塊?

假設一個節點有這個狀態

A -> B -> C -> D

新的區塊到達,情況變成:

A -> B' -> C' -> D' -> E -> F
          |
          B

(其中 B 作為叔塊包含在 C’ 中。)

由於替換了 3 個塊,因此重組的深度為 3

在 C’ 中包含 B 作為叔叔並不能反映重組的深度。

例如,它可能已被包含在 D’、E 或 F 中的更下游。

要被包含為叔塊,塊的父級必須在主鏈中。由於 B 不再是主鏈的一部分,它的子 C 和 D 不能作為叔塊包含在內。

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