Blockchain
挖礦理論:如果發生區塊雜湊衝突會發生什麼?
據我所知,SHA256 或 scrypt 都沒有發生過可證明的雜湊衝突實例。但是,如果這種極不可能發生的事件發生,這對區塊鏈的狀態意味著什麼?由於會有 2 個具有相同雜湊值的塊指向不同的先前塊,因此會導致共識混亂嗎?和/或最好的做法是避免發生碰撞的任何算法?
只是好奇,
-施維蒂
這是一個非常不可能發生的事件,但是,如果它發生,不會發生任何奇怪的事情。
此外,如果兩個礦工同時開採一個區塊,一些節點將首先看到並接受兩個“孿生”區塊中的一個,而第二個將被簡單地忽略。在大多數節點同意兩個塊之一是“好”塊(A)之後,另一個孿生塊(B)在網路丟棄此類塊(B)後被所有節點拒絕。
但是,這種情況發生的可能性可以忽略不計,因為塊雜湊是一個隨機的 256 位輸出(小於目前目標),這允許大量可能的雜湊輸出與地址空間的大小相似。參考
P Wuille 也很好地解釋了:
“如果同時產生兩個具有相同雜湊值和相同父級的塊,其中一個有效,另一個無效(但確實有有效的工作證明),網路中的一些節點將首先看到一個,而其他節點將首先看到另一個。那些首先看到無效版本的人會將區塊標記為永久無效,並且當另一個區塊在其上建構時,他們甚至不會嘗試了解有效版本。這將導致永久鏈分叉在先看到無效塊的節點和先看到有效塊的節點之間。” 參考