Transactions

重啟節點後,失去的交易是否在 mempool 中恢復?(v0.14.1)

  • July 13, 2017

v0.14.0 開始,記憶體池現在在關閉節點時保存並在啟動後重新載入。如果一個節點宕機時間小於 20 分鐘,比特幣節點是嘗試恢復它錯過的交易,還是等到它在一個塊中看到它,然後再向對等方請求錯過的交易?

謝謝!

比特幣核心 (v0.14+) 不會主動嘗試了解它錯過的交易。

從歷史上看,這並沒有這樣做,因為它會不必要地和無意地延長記憶體池中交易的生命週期。這不再是一個問題,因為記憶體池是有限的,並且可以正確處理到期和驅逐。

但是,沒有有效的協議來完成記憶體池同步。我們可以要求所有對等點的所有 txid,但這將達到數百 MB 的數據,其中大部分是冗餘的(因為它在對等點之間是相同的)。已經對集合協調協議進行了一些研究,這些協議可以有效地發現記憶體池之間的差異並轉移差異。然而,這些都沒有接近部署。

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