Transactions

什麼是交易延展性?

  • January 28, 2018

比特幣交易所 MtGox 在本新聞稿中表示,“交易延展性”導致他們停止發送比特幣。最近的一個問題詢問這是否真的是一個問題。但首先什麼是交易延展性?

比特幣交易有一個交易 id (txid),作為交易中涉及的數據的散列形成。這表明它是交易的唯一標識符。

但是,交易的 tx-id 只有在交易中的確切數據通過併入區塊鏈(並確認)而最終確定後才是唯一的。在那之前,有一些黑客可以改變底層數據和散列。這不是一個安全問題,因為不可能改變有多少比特幣從什麼輸入轉移到什麼輸出。但是,諸如確認輸入授權交易的密碼簽名採用什麼格式或使用的確切簽名腳本等細節可以更改:它們是可延展的,從而使雜湊或交易 ID 也具有可延展性。

這根本不應該是一個大問題。但是,如果您在假設交易 id 不可延展的情況下建構您的比特幣處理,就像 MtGox 可能有的那樣。您還需要小心花費未確認的交易,因為這只有在沒有人更改中間交易 ID 時才有效。這在標準比特幣客戶端中都不是問題,但如果你自己動手,特別是如果你希望只使用一個比特幣地址來處理許多單獨的交易,那麼直接建立在未經確認的前一個交易上的快速交易很容易犯的錯誤。如果人們從 MtGox 取款中更改了交易 ID,並且 MtGox 採用瞭如此快速的方法,這或許可以解釋為什麼會有很多關於從未到達取款的投訴:

編輯:可以在這篇 Quartz 新聞文章中找到更詳細的解釋

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