Author

Topic: How to get sending address of Multisig/Escrow transaction? (Read 489 times)

legendary
Activity: 3472
Merit: 4801
For example:
https://blockexplorer.com/tx/70c15eb4cc3890960dbe1ae0cf13eedaeaef04d8e4820398fb4e991b23528f03 or https://blockchain.info/tx/70c15eb4cc3890960dbe1ae0cf13eedaeaef04d8e4820398fb4e991b23528f03

BlockExplorer shows 1st of 2 address.
But I think, none of this two address is sending address and both are signing? (or one is sending, one signing?)
What is sending address?

I'm not sure what you are asking.  There is no such thing as a "sending address".  There are addresses that you've sent TO in the past (or will send TO in the future), and there are addresses you can receive AT.  You don't send "FROM" an address.  Think of an address like an invoice number.  If you are a business, you might receive a payment associated with an invoice number, and if you are a customer you might send a payment associated with an invoice number.  But once the business receives the money it gets mixed in with all the other money that the business has on hand.  When they later spend that cash, they aren't spending it "FROM" the invoice number.  They are just spending it from their safe.  The invoice number is no longer relevant.

Lets take a look at the transaction you've listed...

That transaction SPENT the FIRST output (index 0) of transaction 3244469c73330b3607699f4d3610861a423775781d8dfb68ce8ddd10169c9bab.
The output that was being spent was valued at 0.1 BTC and had been previously received at the address of 19r8BDjwdmMUYecGX73CAnRCwHoynaeSXi

Of the 0.1 BTC being spent, 0.05 BTC was used as a transaction fee.
The remaining 0.05 BTC was sent to an output with a Txout-script of the following format:
Code:
OP_1  ECDSA_public_key  ECDSA_public_key  OP_2  OP_CHECKMULTISIG

Which if I'm remembering correctly is an indication that if you want to spend that 0.05 BTC you need to be able to provide the signature associated with at least one of those two ECDSA_public_keys.

OP_CHECKMULTISIG is not an output script that has a standard "address" representation. That output was NOT SENT TO AN ADDRESS. It was sent to an output script.

That means that any website might use any representation they choose to come up with. If you see a block explorer website displaying an "address" for such an output script, then it is their own representation that they've invented for their own website only. You could hash the entire script and use that hash as the "address", or you could hash each public key individually and use those hashes as "multi-address", or you could come up with whatever other scheme you like.  There aren't any wallets right now that support converting any address representation into such a script, so if you want someone to send to such an output script, you would need to give them the actual script and not just an address.



member
Activity: 138
Merit: 25
For example:
https://blockexplorer.com/tx/70c15eb4cc3890960dbe1ae0cf13eedaeaef04d8e4820398fb4e991b23528f03 or https://blockchain.info/tx/70c15eb4cc3890960dbe1ae0cf13eedaeaef04d8e4820398fb4e991b23528f03

BlockExplorer shows 1st of 2 address.
But I think, none of this two address is sending address and both are signing? (or one is sending, one signing?)
What is sending address?
Jump to: