Transactions
ScriptPubKey 如何知道比特幣地址的公鑰?
我現在有一個金發的時刻。
ScriptPubKey 提供了接收者公鑰的散列版本。
scriptPubKey OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG
但是,如果我給某人我的比特幣地址以向我匯款 - 發件人如何檢索我的公鑰然後對其進行雜湊處理?作為 pubKeyHash != 我的比特幣地址
我可能忘記了一些非常明顯的事情——但今天早上它讓我頭疼不已。
地址實際上只是特定腳本的簡寫。標準地址類型(在主網上以“1”開頭)實際上與您在上面給出的腳本的確切類型相對應。
如果你對這樣的地址進行 base58 解碼,你最終會得到一個 0x00 + [20-byte hash] + [4-byte checksum] 形式的字節串。對應的腳本是 OP_DUP OP_HASH160 [20-byte hash] OP_EQUALVERIFY OP_CHECKSIG。
因此,在某種程度上,您的地址確實包含公鑰的雜湊值。
發件人不需要知道你的公鑰,只需要你提供的比特幣地址,每次都可以不同。您稍後使用公鑰贖回資金並發送到另一個地址。