Synchronization

比特幣是否針對記憶體池驗證交易?

  • December 20, 2018

我想知道比特幣是否檢查記憶體池中是否存在交易,作為它為新塊執行的眾多驗證規則之一。

如果在接收到新塊時記憶體池中最多存在交易,那麼考慮到舊塊中的交易不會在記憶體池中存在,該規則如何應用於與對等節點同步期間收到的塊?

已包含在塊中的交易不需要在節點的記憶體池中,以便該節點驗證該塊。每個塊都包含交易,因此通過下載和驗證一個塊,節點將收到其中所有交易的副本(以便它可以驗證交易,作為驗證塊的一部分)。

正如您所提到的,否則在同步舊塊時會出現問題,因為如果您今天嘗試將它們添加到記憶體池中,這些塊中的交易將無效(因為它們的輸入已經用完!)。

此外,礦工可以將交易包含在一個區塊中,而無需將該交易廣播到網路。所以在這種情況下,沒有其他節點會將礦工的交易包含在他們的記憶體池中!

請注意,緊湊塊BIP 152)是對塊中繼過程的改進,它允許節點將新塊的交易與其本地記憶體池進行比較,從而避免重新下載他們已經知道的交易。

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