multi signature – Understanding primary Bitcoin Transactions: the scriptPubKey.addresses array

0
63


I used to suppose the addresses array into the scriptPubKey (vout) is populated ranging from the script, however analyzing old-fashion multisig transactions, I found one thing made my assumption unsuitable:

Given this three vouts:

{
    "worth" : 0.01000000,
    "n" : 0,
    "scriptPubKey" : {
        "asm" : "1 04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG",
        "hex" : "514104cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4410461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af52ae",
        "reqSigs" : 1,
        "kind" : "multisig",
        "addresses" : [
            "1AJbsFZ64EpEfS5UAjAfcUG8pH8Jn3rn1F",
            "1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq"
        ]
    }
}

{
    "worth" : 0.00000002,
    "n" : 0,
    "scriptPubKey" : {
        "asm" : "1 0351efb6e91a31221652105d032a2508275f374cea63939ad72f1b1e02f477da78 00f2b7816db49d55d24df7bdffdbc1e203b424e8cd39f5651ab938e5e4a193569e 2 OP_CHECKMULTISIG",
        "hex" : "51210351efb6e91a31221652105d032a2508275f374cea63939ad72f1b1e02f477da782100f2b7816db49d55d24df7bdffdbc1e203b424e8cd39f5651ab938e5e4a193569e52ae",
        "reqSigs" : 1,
        "kind" : "multisig",
        "addresses" : [
            "1NdB761LmTmrJixxp93nz7pEiCx5cKPW44"
        ]
    }
}

which comes respectively from transactions:

60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1
274f8be3b7b9b1a220285f5f71f61e2691dd04df9d69bb02a8b3b85f91fb1857

I’ve seen that they share the identical script:

OP1 OPDATA OPDATA OP2 OP_CHECKMULTISIG

however with completely different outcomes.

Within the first one transaction you possibly can see two addresses within the addresses array, in the second you possibly can see solely an deal with.

Additionally, given this one:

{
    "worth" : 0.00000001,
    "n" : 22,
    "scriptPubKey" : {
        "asm" : "1 6565292c66696c653d7379732e737464657272290a0a69662046616c73653a0a202020207072696e742870726f78792e73656e647261777472616e73616374696f 6e287369676e65645f74785b27686578275d29290a656c73653a0a202020207072696e74287369676e65645f7478290a0000000000000000000000000000000000 2 OP_CHECKMULTISIG",
        "hex" : "51416565292c66696c653d7379732e737464657272290a0a69662046616c73653a0a202020207072696e742870726f78792e73656e647261777472616e73616374696f416e287369676e65645f74785b27686578275d29290a656c73653a0a202020207072696e74287369676e65645f7478290a000000000000000000000000000000000052ae",
        "kind" : "multisig"
    }
}

which comes from transaction 4b72a223007eab8a951d43edc171befeabc7b5dca4213770c88e09ba5b936e17

No reqsigs nor addresses comes within the parsed transaction.

So, I believe I’m a bit of confused on how addresses array is populated.

LEAVE A REPLY

Please enter your comment!
Please enter your name here