Transactions
公共地址:前面的“3”與“1”[比特幣]
我只是想確認一下,對於比特幣(公共)地址,它的前面是否應該總是有一個“1”。對於某些交易,雖然我看到前面有一個“3”。這怎麼可能,為什麼是“3”?
比特幣地址前綴是特定交易輸出的鎖定腳本類型的函式。
較舊的比特幣支付公鑰雜湊 ( P2PKH ) 腳本與以數字 1 開頭的地址相關聯,這是由於在將 base58check-encoding 設置為 0x00 之前的一個字節版本前綴。
較新的 Pay-to-Script Hash ( P2SH ) 交易以數字 3 開頭,這是由於在 base58check-encoding 設置為 0x05 之前的一個字節版本前綴。
P2SH 的範例是單個 P2SH 簽名地址、多重簽名地址和嵌套 P2SH(P2WPKH),它們是由隔離見證產生的,以保持與未明確啟用隔離見證的舊錢包與支持隔離見證的錢包的向後兼容性。此類地址符合 BIP 49 分層確定性方案。
以數字“1”開頭的地址使用 P2PKH(支付給公鑰雜湊),而以數字“3”開頭的地址使用 P2SH(支付給腳本雜湊)。
在第一個腳本中,僅通過比較您的公鑰(以 w/1 開頭的地址)和數字簽名的雜湊值來檢查簽名是否有效,兩者都是由您的私鑰創建的。
對於 P2SH(由多重簽名交易使用),它稍微複雜一些,不同的腳本在使用正確的加密參數執行時需要產生相同的結果。