Unconfirmed-Transactions

無效交易是否會持續存在於記憶體池中?

  • June 8, 2017

我的基本理解是,交易將繼續存在於 MemPool 中,直到它可以完成,(或最終由於 MemPool 的大小而被驅逐)。

對我來說,這導致了一個奇怪的情況:

  • 錢包試圖花費比目前更多的 BTC
  • 礦工拒絕該交易(或更準確地說,未能確認)。但交易仍保留在記憶體池中。
  • 在稍後的某個時間點,錢包會獲得更多價值。
  • 之前被拒絕的交易可以突然被確認。

這大致相當於向您的銀行退回支票,然後在您最終拿到錢時讓支票在幾天、幾週或幾個月後清算!

這實際上是 BTC 的運作方式嗎?或者是否存在可以正式和完全拒絕交易的點,就像可以確認一樣?

你錯過了一條重要的資訊。比特幣不是基於賬戶的系統,而是建立在代幣之上的系統。每筆交易都有一個它花費的代幣列表和一個它創建的代幣列表。令牌可以被唯一標識。我們將這些令牌在創建時稱為“未使用的交易輸出”,有時在它們用完時稱為“輸入”。

每個節點都會檢查交易是否被正確授權以花費輸入,因此您描述的無效交易將永遠不會首先進入任何記憶體池,因為它花費的資金超過了輸入提供的資金。它也不能在以後自動引用更多輸入,一切都必須一成不變才能簽署交易。

另見:

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