Blockchain

本地區塊鏈數據庫(blkXXXXX.dat)是否永遠包含廢棄的分叉?

  • June 20, 2022

當我的節點意識到需要放棄給定的塊時 - 它是將其留在數據庫中還是用有效的塊替換該塊?如果“無效”塊仍然存在:它是否以某種方式標記為無效?如果我在區塊鏈中遇到兩個具有相同父級的塊 - 我怎麼知道我應該遵循哪個分支?

當我的節點意識到需要放棄給定的塊時 - 它是將其留在數據庫中還是用有效的塊替換該塊?

它與塊索引數據庫中的條目一起保留在磁碟上。

如果“無效”塊仍然存在:它是否以某種方式標記為無效?

是的。塊索引數據庫包含每個塊的條目,其中包含指示塊狀態的標誌。這包括各種有效和無效狀態(表明它在哪里通過或未通過某些檢查)。

如果我在區塊鏈中遇到兩個具有相同父級的塊 - 我怎麼知道我應該遵循哪個分支?

您的節點將遵循具有最多累積工作的有效鏈。在給定的難度下,這是最長的鏈,但並非總是如此。如果有兩個具有相同累積工作的塊,則節點選擇它首先看到的那個。最終會有一個解決方案,因為其中一個區塊將被開採,因此會有更大的累積工作。

引用自:https://bitcoin.stackexchange.com/questions/114149