Bip174-Psbt

為什麼 BIP174 接受 Xpubs 而沒有地址?

  • June 13, 2020

我有幾個關於 BIP 174 的問題: XPUB:我正在研究 BIP174,我發現我可以定義一個全域 XPub。這是怎麼用的。更新者、簽名者或終結者如何知道這個 XPub 的用途?這不會暴露一些隱私嗎?

公鑰:對於輸出,我是否必須輸入公鑰?沒有選項可以輸入地址嗎?

輸入:輸入非見證 UTXO 似乎需要整個先前的交易,而不是簡單的 txid 和 vout。為什麼是這樣?

更新者、簽名者或終結者如何知道這個 XPub 的用途?

它不僅僅是一個 xpub。這是一個帶有關鍵來源資訊的 xpub。提供了主公鑰的指紋和該 xpub 的派生路徑。這意味著可以使用輸入和輸出映射中給定的派生路徑進行前綴匹配,以找到可以使用哪個 xpub 來派生特定的 pubkey。

這不會暴露一些隱私嗎?

是的。

對於輸出,我是否必須輸入公鑰?

不,您不必為輸出地圖提供任何資訊。

沒有選項可以輸入地址嗎?

不可以。地址在 PSBT 中沒有用處。

輸出欄位指定輸出本身。這是在全域事務中完成的。地址僅用於指定要在輸出中使用的 scriptPubKey。全域未簽名交易已經具有使用其 scriptPubKeys 指定的輸出。所以提供地址沒有用,因為它只是重複的資訊。

輸入:輸入非見證 UTXO 似乎需要整個先前的交易,而不是簡單的 txid 和 vout。為什麼是這樣?

txid 和 vout 已由全域未簽名交易提供。輸入中需要非見證 UTXO 和見證 UTXO 才能簽署交易。簽名算法需要知道用於輸出的 scriptPubKey,對於 segwit,還需要知道金額。需要提供完整的先前交易以防止使用者簽署他們不打算花費的輸出的攻擊。通過提供完整的交易,簽名者可以驗證他們為其計算的 txid 是否與全域未簽名交易中指定的 txid 匹配。

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