pay-to-pubkey 雜湊是如何產生的?它的歷史是什麼?
我們知道早期的區塊都使用支付到公鑰(p2pk),並且在某些時候,我們大多切換到支付到公鑰雜湊(p2pkh)。這背後的歷史是什麼?誰進行了更改,p2pkh 何時成為標準?
另外,這與向壓縮鍵的轉變有什麼關係嗎?
Pay to Public Key Hash 已經存在於比特幣的整個生命週期中。自比特幣最早發布以來,P2PKH 地址就已經存在。使用比特幣 0.1.0 創建 P2PKH 地址並發送到 P2PKH 地址是可能的。
然而,這些早期版本的比特幣也支持支付到 IP 地址功能,您的錢包將聯繫給定 IP 地址的錢包並請求發送到的 scriptPubKey。響應將是 P2PK scriptPubKey,因此您將創建 P2PK 輸出。
塊也被探勘到 P2PK 輸出,事實上,比特幣核心仍然這樣做。Bitcoin Core 的內部礦工(現在僅用於 regtest 和 testnet)仍然創建 P2PK 輸出而不是 P2PKH 輸出。
Pay to IP 最終開始在比特幣 0.3.13 中被淘汰,當時它的使用隱藏
-allowreceivebyip
在送出中的命令行開關後面172f0060
(注意作者是 Satoshi,但他似乎也合併了其他人的程式碼)。在比特幣 0.5.0 中刪除了發送到 IP 的能力,在比特幣 0.8.0 中刪除了與支付到 IP 相關的網路程式碼的最後殘餘。在 Pay to IP 被刪除之前,人們就知道它是不安全的。由於唯一的其他交易方式是通過地址,P2PKH 已經被廣泛使用,而 P2PK 似乎從未得到太多使用,因為它僅用於支付到 IP 和比特幣客戶端創建的塊。
一旦外部挖礦軟體問世,區塊就開始使用 P2PKH 而不是 P2PK,因為將錢包中的地址輸入外部礦工比獲取公鑰並輸入它更容易。那時人們也習慣於使用地址,並且地址僅適用於 P2PKH 輸出。