Protocol

可以使用具有重複雜湊的交易的輸出嗎?

  • October 3, 2014

我注意到有兩個交易雜湊在區塊鏈中出現了不止一次。這樣做的原因是可以理解的:他們將挖礦獎勵發送到同一個地址。這些交易具有相同的輸入(無)和相同的輸出(一個 50 BTC 輸出到指定地址)。但是,當您嘗試使用交易數據時,這確實會導致問題,因為交易雜湊不能被視為交易的唯一標識符。

此處簡要討論了這一點,但討論更多地基於塊有效性。

這實際上導致了一個導致舊事務覆蓋的錯誤,該錯誤已在 0.6.0 版本中修復。

有一些關於這些事件之一的 BitcoinTalk 執行緒: BitcoinTalk 其他 BitcoinTalk

在這些執行緒的第一個執行緒中,Gavin Andresen 似乎暗示不能通過說“哦!哦!‘Bitcoins Lost Forever’執行緒還有 50 個比特幣!”來花費新交易的輸出。

在區塊鏈中出現了不止一次的兩個交易雜湊分別是:d5d27987d2a3dfc724e359870c6644b40e497bdc0589a033220fe15429d88599 e3bf3d07d4b0375638d5f1db5255fe07ba2c4cbb0667cd581b844ee894bf7

那麼,這些交易輸出可以花掉嗎?為什麼或者為什麼不?

編輯:我應該提到我檢查過,截至 2013 年 7 月 5 日,沒有任何交易的輸出被花費。

更新為我之前的答案是錯誤的

引自BIP 0030

區塊不允許包含標識符與同一鏈中較早的、未完全使用的交易的標識符匹配的交易。

此規則適用於時間戳在某個時間點之後的所有區塊

這意味著一個事務可以多次使用相同的雜湊,只要它總是在創建新事務之前首先花費。

至於較舊的交易:它們是有效的,但網路不會讓你花費它們,因為參考客戶端中的實現不會讓你。

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