Поле адресов в ScriptPubkey

"txid": "055f9c6dc094cf21fa224e1eb4a54ee3cc44ae9daa8aa47f98df5c73c48997f9",
"hash": "055f9c6dc094cf21fa224e1eb4a54ee3cc44ae9daa8aa47f98df5c73c48997f9",
"version": 1,
"size": 433,
"vsize": 433,
"locktime": 0,
"vin": [
    {
        "txid": "b187426f2fdd5a7ac2f49d822f68e07f48486ee53a8a45de2494f12acb37a0d8",
        "vout": 3,
        "scriptSig": {
            "asm": "3046022100d78c31a20fa11533475be893b229eb4d252e600dcc2a0735d360c541b6aec813022100e3eaa72c915ef47d94ccbd18c2ba6d9ae5b98be6e9fbf968d4bbbb003e06d687[ALL] 030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc",
            "hex": "493046022100d78c31a20fa11533475be893b229eb4d252e600dcc2a0735d360c541b6aec813022100e3eaa72c915ef47d94ccbd18c2ba6d9ae5b98be6e9fbf968d4bbbb003e06d6870121030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc"
        },
        "sequence": 4294967295
    }
],
"vout": [
    {
        "value": 0.00010860,
        "n": 0,
        "scriptPubKey": {
            "asm": "1 030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc 20434e545250525459000000140001a9e0e85838b5000000174876e800010053b6 2 OP_CHECKMULTISIG",
            "hex": "5121030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc2120434e545250525459000000140001a9e0e85838b5000000174876e800010053b652ae",
            "reqSigs": 1,
            "type": "multisig",
            "addresses": [
                "1FrbMcddiM1v3HMpUqygjZYCamBykWCWao"
            ]
        }
    },
    {
        "value": 0.00010860,
        "n": 1,
        "scriptPubKey": {
            "asm": "1 030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc 20a3c3000000000000000000000000000000000000000000000000000000000000 2 OP_CHECKMULTISIG",
            "hex": "5121030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc2120a3c300000000000000000000000000000000000000000000000000000000000052ae",
            "reqSigs": 1,
            "type": "multisig",
            "addresses": [
                "1FrbMcddiM1v3HMpUqygjZYCamBykWCWao"
            ]
        }
    },
    {
        "value": 0.00010860,
        "n": 2,
        "scriptPubKey": {
            "asm": "1 030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc 100000000000000000000000000000000000000000000000000000000000000000 2 OP_CHECKMULTISIG",
            "hex": "5121030e001332b43924be343986cca3df669f57b0dedd120990e727787f8dea50fdbc2110000000000000000000000000000000000000000000000000000000000000000052ae",
            "reqSigs": 1,
            "type": "multisig",
            "addresses": [
                "1FrbMcddiM1v3HMpUqygjZYCamBykWCWao"
            ]
        }
    },
    {
        "value": 0.01061564,
        "n": 3,
        "scriptPubKey": {
            "asm": "OP_DUP OP_HASH160 a2f2d251cc06ec1e789800127e3fa6ed9e515651 OP_EQUALVERIFY OP_CHECKSIG",
            "hex": "76a914a2f2d251cc06ec1e789800127e3fa6ed9e51565188ac",
            "reqSigs": 1,
            "type": "pubkeyhash",
            "addresses": [
                "1FrbMcddiM1v3HMpUqygjZYCamBykWCWao"
            ]
        }
    }
]

В приведенной выше транзакции каждый scriptpubkey имеет addressesмассив и имеет 1 адрес. Я предполагаю, что этот адрес получен public keyиз asm. В этом примере у каждого asmесть 2 открытых ключа. Таким образом, массив адресов должен содержать 2 адреса. Но у него только один. Кто-нибудь может это объяснить?

Ответы (1)

Взгляните на https://blockchain.info/tx/055f9c6dc094cf21fa224e1eb4a54ee3cc44ae9daa8aa47f98df5c73c48997f9?show_adv=true

Внизу страницы вы можете увидеть "разобранные" скрипты вывода. Да, выходы 0, 1 и 2 имеют вид, 1 pushdata33 pushdata33 2 CHECKMULTISIGпоэтому эти выходы являются выходами с мультиподписью 1-из-2. Но вы должны смотреть еще глубже! Сжатая форма открытого ключа имеет длину 33 байта и должна начинаться с шестнадцатеричного представления 02или в нем. 03Что вы видите на этой странице? Линии

20434e545250525459000000140001a9e0e85838b5000000174876e800010053b6
20a3c3000000000000000000000000000000000000000000000000000000000000
100000000000000000000000000000000000000000000000000000000000000000

не начинайте с 02или 03поэтому они не являются открытыми ключами. Это может быть какой-то мусор или другой уровень протокола, например контрагент. Я не знаю.

Современный клиент Bitcoin Core не пытается конвертировать эти фрагменты байтов в открытые ключи и не пытается создавать удобочитаемые адреса. Итак, вы видите только один адрес 1FrbMcddiM1v3HMpUqygjZYCamBykWCWaoв консоли. Это не баг, это фича.