Bitcoin-Core

為什麼比特幣會創建幾個“空”的錢包地址?

  • July 16, 2017

我目前正在執行bitcoind -testnet。我跑bitcoin-cli dumpwallet ~/wallet-output只是為了探索輸出,看起來它創建了 102 個私鑰/公鑰對,我認為它們只是為了方便手頭而預先生成的。

然而,令我驚訝的是,它們似乎都以某種方式被“認可”為測試網區塊鏈的一部分,即使它們從未被使用過。例如,當我在 Block Explorer 中搜尋其中一個地址時,我會看到一個零交易和 0 BTC 餘額的地址:https ://testnet.blockexplorer.com/address/mxwDTWg556BDzZhEWvJ1EeYwSYxG42wKZC 。這與我在比特幣工具“外部”創建的地址不同(例如<https://www.bitaddress.org>)。例如,Block Explorer“找不到”這個地址:1XitCFAkFhNR6PoJsPcxjsFzkMegx4Ky5。我希望這會發生在我錢包中預先生成的所有地址上,直到我真正使用它們。

為什麼要bitcoind在測試網區塊鏈上“註冊”這些地址?它究竟是如何做到的?那是一種特殊的交易類型嗎?

比特幣不會在區塊鏈上“註冊”地址。我在測試網 Block Explorer 網站上查找任意生成的公共地址時遇到問題的原因是因為我正在搜尋主網地址,而不是測試網地址。例如,使用上述<https://bitaddress.org>網站生成的地址預設用於主網,在測試網區塊鏈上無效。如果您使用添加?testnet=true到 URL,您將生成有效的測試網地址。

線上許多地方都記錄了測試網和主網地址之間的確切差異。其中,比特幣 wiki 上的 Testnet 頁面,其中指出:

ADDRESSVERSION 欄位的不同值可確保測試網比特幣地址不會在生產網路上執行。(0x6F 而不是 0x00)

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