Transactions

從錯誤的前綴地址取回錢

  • September 13, 2018

通常,p2pkh地址由 生成Base58(Prefix+ PublicKeyHash + Checksum),前綴設置為 0x00。

萬一不小心把prefix設置成了0x05,那麼地址前綴變成了3,就變成了p2sh地址。

不幸的是,一些 btc 已經發送到 3 個前綴地址,如果我擁有私鑰,我是否可以花掉餘額?

這裡非常糟糕的是,我創建了一個太特殊的類型 pay to script:

具體來說<OP_HASH160> <ScriptHash> <OP_EQUAL>ScriptHash就是hash160(public key). 有沒有辦法簽署這種腳本?

萬一不小心把prefix設置為0x05,那麼地址前綴變成了3,就變成了p2sh地址。

然後發送到該地址的硬幣將永遠失去。

如果我擁有私鑰,我可以花掉餘額嗎?

不,因為驗證 P2SH 輸出支出的語義與 P2PKH 輸出的語義不同。您擁有的私鑰與 P2SH 輸出無關。

有沒有辦法簽署這種腳本?

不,公鑰將被解釋為腳本本身,而不是公鑰。因此,您擁有的私鑰將毫無用處。您必須滿足公鑰字節所代表的任何腳本。這很可能只是垃圾並且是一個無法實際執行的腳本。

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