Transactions
從錯誤的前綴地址取回錢
通常,
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 輸出無關。
有沒有辦法簽署這種腳本?
不,公鑰將被解釋為腳本本身,而不是公鑰。因此,您擁有的私鑰將毫無用處。您必須滿足公鑰字節所代表的任何腳本。這很可能只是垃圾並且是一個無法實際執行的腳本。