Blockchain

是否可以將有效塊添加到無效塊中,並被另一個客戶端接受?

  • March 16, 2016

這個 wiki 頁面說無效塊不計入確定鍊長度,這讓我想了解如何處理無效塊。

  • 可以將有效塊添加到無效塊中……並被一個或多個客戶接受嗎?

如果是這樣的話…

  • 無效區塊的礦工是否會獲得區塊獎勵?Tx 有效嗎?有沒有例子?

假設創建了一個無效塊並將有效塊添加到該無效塊中。兩個區塊都被添加到主鏈中。(假設攻擊者擁有 25% 的計算能力,並且有一個自定義客戶端將兩個事務推送到所有對等方)

  • 既然每個區塊都有獎勵,那麼無效區塊中的獎勵算不算在內?
  • 無效區塊中的交易是否仍被視為有效?

我有興趣跟踪這些“損壞”塊中發生的事務,並查看我的手動編碼客戶端是否正確處理事務。

由於每個客戶端都會驗證他們收到的每個塊並拒絕每個無效的塊,因此這種情況不太可能發生。但是,如果偶然傳播了一些無效的塊(例如在值溢出錯誤的情況下,或者可能被一些不遵守協議的替代客戶端傳播),它最終會從塊中消失歷史和孤立所有附加到它的塊。或者,協議可以更改以適應區塊,但這不太可能發生。

當區塊鏈的一部分失效時,其中包含的所有交易都將被重新評估——硬幣生成交易將被丟棄,所有花費其輸出的交易也將失效,所有其他仍然有效的交易將被添加返回要添加到未來塊的交易池。如果某些塊被更長的塊鏈覆蓋,也會發生同樣的事情。

總而言之,一個無效的塊被認為是有效的,並且在它是一個錯誤之後將有效的塊附加到鏈上。這種情況在過去至少發生過一次,結果是修復了錯誤並擦除了無效塊以及附加到它的所有其他塊。來自這些區塊的所有正常交易都必須再次添加到新創建的區塊中,並且任何硬幣生成交易都將失效。

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