Private-Key
僅使用 xpriv 密鑰花費交易輸出
是否可以花費一個 P2WPKH 交易輸出,只知道 xpriv 密鑰,不知道與交易的公鑰對應的特定私鑰?
不,您需要派生該地址的私鑰。
更廣泛的網路沒有機制來確定地址是從私鑰派生的,而私鑰是從特定的 xpriv 派生的。必須使用與相關地址相關的私鑰創建交易簽名。
擴展私鑰 (xprv) 可以派生與該 HD 帳戶關聯的所有個人 WIF 私鑰。因此,從技術上講,可以通過 xprv 鑰匙串進行解析,直到找到與您想要花費的輸出相對應的單個 WIF 私鑰。
例如,如果您知道要從中花費的輸出地址,則可以編寫一個循環遍歷每個私鑰的腳本。
虛擬碼:
var myxprv = "xprv1234...."; var outputaddr = "bc1wqSomeAddress...."; var notfound = true; var index = 0; while(notfound){ var eachPK = fromXprv(myxprv,0,index); var details = wif2Address(eachPK); if(outputaddr===details.p2wpkh){ notfound = false; return "found"; } else { index++; } }