Bitcoin-Core
交易狀態和 UTXO
我了解到,狀態是一個抽象的東西,由節點在本地維護,從創世塊一路開始,將狀態更新到目前狀態,就可以達到目前區塊鏈的狀態。所以狀態不斷添加utxos。
狀態是否只跟踪未使用的 UTXO,或者狀態是否同時跟踪已使用和未使用的 utxos。我認為,它們應該從記憶體池中刪除。另外我認為記憶體池只不過是區塊鏈的狀態。
請澄清我的困惑。謝謝
UTXO
代表未使用的交易輸出。因此,節點只跟踪未使用的交易輸出。一旦交易(即使是未經確認的交易)消耗了 UTXO,它就會從 UTXO 數據庫中刪除(如果 tx 被丟棄,它會被添加回來)。我認為,它們應該從記憶體池中刪除。
mempool 是一個未確認的交易列表,消耗了目前可用的 UTXO。UTXO 不會從記憶體池中刪除。有一個單獨的 UTXO 數據庫
另外我認為記憶體池只不過是區塊鏈的狀態。
區塊鏈的狀態是 UTXO 數據庫。記憶體池本質上是對 UTXO 集的提議更改列表,可以對其進行探勘和確認,然後更新區塊鏈的狀態。