Transactions

為什麼輸出地址是 RPC/console 中的列表?

  • July 12, 2018

Vout 包含一個地址列表,我注意到它總是大小 = 1,如果它存在的話。以下是來自比特幣測試網的範例:

{
     "value": 0.91840581,
     "n": 2,
     "scriptPubKey": {
       "asm": "OP_DUP OP_HASH160 1416b8f3a1c1c7e3e73a05046f002e66004accc3 OP_EQUALVERIFY OP_CHECKSIG",
       "hex": "76a9141416b8f3a1c1c7e3e73a05046f002e66004accc388ac",
       "reqSigs": 1,
       "type": "pubkeyhash",
       "addresses": [
         "mhMB2g88n42ghQ5p1VA7Mt9VgTp9QvpDXU"
       ]
     }
   }

為什麼“地址”(地址)欄位是一個列表?是否有任何情況下這可能需要多個地址?那誰能花呢?

這是由於地址和密鑰之間的歷史混淆。

該欄位的最初目標是報告原始多重簽名輸出中涉及的公鑰。但是,這些公鑰是由與它們對應的 P2PKH 地址引用的。

這很令人困惑,因為顯然每個輸出只對應一個地址。由於引入了 P2SH,該功能現在也沒有用了,它不是將所有公鑰都放在輸出中,而是儲存了包含所有這些密鑰的腳本雜湊。

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