Orphaned-Blocks

如果您在標頭中收到具有未知先前雜湊的塊會發生什麼

  • December 4, 2018

我搜尋了這個問題,但找不到以下場景的答案。

上午 10:00 開採區塊 4440 上午 10:01 開採區塊 4441

假設我先收到 Block 4441,然後再收到 Block 4440。發生什麼了?當我收到 4441 時,我不知道具有先前雜湊的塊,並且無法將 4441 添加到我的鏈中。

我是否將這些具有未知前一個標頭的塊儲存在池中,並定期檢查我是否收到了前一個塊?

假設我們這樣做,你有沒有從這個池中刪除舊塊?

如果我們保存“無效”塊,我們如何防止人們送出數千個無效塊並填滿我們的池?我假設我們檢查是否達到了難度,但是如果塊 4440 降低了所需的難度會發生什麼?

具有未知父塊的塊儲存在孤立塊池中。他們將一直呆在那裡,直到收到父塊,然後連結到現有鏈。

據我所知,從池中刪除塊沒有其他條件。如果從未收到特定的父母,他們將永遠留在那裡。

目前的難度應該足以防止人們用孤兒向這個池發送垃圾郵件,因為這需要大量的處理能力和巨大的金錢浪費。一個塊必須是有效的才能儲存在這個池中,塊雜湊必須滿足目標等等。如果不是這種情況,則該塊被丟棄並且不會向孤立池發送垃圾郵件。

有關詳細說明,請參閱掌握比特幣,第 10 章,組裝和選擇區塊鏈部分。

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