Orphaned-Blocks
如果您在標頭中收到具有未知先前雜湊的塊會發生什麼
我搜尋了這個問題,但找不到以下場景的答案。
上午 10:00 開採區塊 4440 上午 10:01 開採區塊 4441
假設我先收到 Block 4441,然後再收到 Block 4440。發生什麼了?當我收到 4441 時,我不知道具有先前雜湊的塊,並且無法將 4441 添加到我的鏈中。
我是否將這些具有未知前一個標頭的塊儲存在池中,並定期檢查我是否收到了前一個塊?
假設我們這樣做,你有沒有從這個池中刪除舊塊?
如果我們保存“無效”塊,我們如何防止人們送出數千個無效塊並填滿我們的池?我假設我們檢查是否達到了難度,但是如果塊 4440 降低了所需的難度會發生什麼?
具有未知父塊的塊儲存在孤立塊池中。他們將一直呆在那裡,直到收到父塊,然後連結到現有鏈。
據我所知,從池中刪除塊沒有其他條件。如果從未收到特定的父母,他們將永遠留在那裡。
目前的難度應該足以防止人們用孤兒向這個池發送垃圾郵件,因為這需要大量的處理能力和巨大的金錢浪費。一個塊必須是有效的才能儲存在這個池中,塊雜湊必須滿足目標等等。如果不是這種情況,則該塊被丟棄並且不會向孤立池發送垃圾郵件。
有關詳細說明,請參閱掌握比特幣,第 10 章,組裝和選擇區塊鏈部分。