The 'decoderawtransaction' RPC method of the Bitcoin-QT client gives a JSON object with an array of addresses in each UTXO. For example, when I run:
decoderawtransaction "01000000010fb72b5d299f095c3d3abc2130f20ce59d0ed08d56b3f247d6ae554f200eb561010000006a473044022073717edfcde0200f8aca33b6ff4f60a4aa84c6692cd1713876d94f3f19013f6d022057610074eef8285082cb9943913040031869cc98bc71642a3dc5e085a19a1805012103f071bc0f54b95e9049ba515f19cbfb647605a9f1d2f002b4e70ec548af5fbf5bffffffff02b02bc37d010000001976a9148037b2fd4114347070236b37f792966ade2bc4a688acd0ce4101000000001976a914336e5078d05a350fb5e6cdf8fc15d826e625423888ac00000000"
I get back the following JSON:
{
...
"vout":[
{
"value":64.04910000,
"n":0,
"scriptPubKey":{
"asm":"OP_DUP OP_HASH160 8037b2fd4114347070236b37f792966ade2bc4a6 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a9148037b2fd4114347070236b37f792966ade2bc4a688ac",
"reqSigs":1,
"type":"pubkeyhash",
"addresses":[
"1CgxDbrb9d18DFvQn6DW8ij3c6ARpipehU"
]
}
}
]
...
}
You can see here that "addresses" is an array. Why is this an array? Can one UTXO send to multiple addresses? I know P2SH addresses can pay to an address that can be redeemed by the use of multiple addresses, but I'm wondering about sending to multiple addresses without the use of P2SH addressses. What would be the format of the scriptSig/scriptPubKey for doing so?
Also, if you only have the P2SH address, then can you determine what the requirements for redeeming from that address are?
Thanks!