Client

挖礦與雙花困境

  • March 1, 2018

我對雙花問題的理解如下:

假設賬戶 A 有 1 個比特幣並將其發送到賬戶 B,然後創建另一個交易,該交易將相同的比特幣發送到賬戶 C。一些節點可能會首先收到第一筆交易的通知,而其他節點可能會先收到第二筆交易的通知,導致關於哪個交易首先發生並且是合法交易的衝突。

如果我理解正確,挖礦通過強制每個礦工在兩個交易之一之間進行選擇來解決這個問題。但是,如果兩個礦工收到兩個不同的交易(A -> B vs. A -> C)並在完全相同的時間產生一個散列會發生什麼——每個人都不會記錄不同的事件序列嗎?

同樣,如果礦工對誰先產生雜湊有不同意見,會發生什麼?如果兩個節點同時產生一個雜湊會發生什麼?一些節點會說礦工 x 較早開採,其他節點會不同意,那麼這個問題如何解決?為什麼最終所有節點最終一致同意並且我們不會不斷地以不同版本的區塊鏈告終?

你只需要等待。最終,另一個礦工將產生一個區塊,它將位於大約同時發現的兩個區塊中的一個或另一個之上。再次讓兩個礦工幾乎同時發現區塊的機率非常低。真正偏執的人可以等待六個區塊被探勘,然後再依賴交易。

持續分裂應該不太可能,因為你在上面探勘的鏈越長,你獲得採礦獎勵的可能性就越高。如果你在一條短一個區塊的鏈上挖礦,你只會綁定其他人已經在其上挖礦的現有鏈。

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