Private-Key

僅使用 xpriv 密鑰花費交易輸出

  • March 12, 2021

是否可以花費一個 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++;
   }
}

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