bitcoin "from" address


#1

Hey guys,

I know there is no “from” address when we send bitcoins. However, is there any way to prove when B receives btc, it was sent from a particular party? If A and C both claim they sent btc to B with the same amount and B only receives one payment, how do we identify the sender?


#2

Every bitcoin transaction has both “from” and “to” addresses in the transaction.

Using an example form BTG, here’s a recent transaction I’m pulling from from a recent block:

image

This picture is a Transaction page from the official explorer, explorer.bitcoingold.org. You can click on the picture to go to in and explore, yourself.

You can see it has a link to the block it was in. That long blue number is the hash of the block it was confirmed in (524827), but this view shows you the unique hash of that block.

Below, you see the From and a To BTG addresses. You can click into the From address to see the .07672495 BTG being sent, or you can click into the To address to see the .07656815 BTG being received. (The difference between the two is what was left as Fee for the miner, which you can also see on the Transaction page.)

(If your view is different from what I posted above, play with the width of your window; the formatting changes based on the window size.)

So, let’s answer your question using the picture above. If I click into the recipient of the transaction above, the “GSGWuZ4…” address, I get:

image

Here you can see the balance in the recipient address, and that it had 9 transactions. Scroll down to the transaction you’re interested in (here, it’s the most recent.) You can see that .07655815 BTG was received, and you can see which address it came from.

For you example, if parties A and C say what their addresses are, then the recipient B can easily see who sent the funds.

Now, let’s say that A and C both claim that the address GNPEVjm4Dz… is theirs. Say, you are party A, but party C claims the address is theirs - how can we resolve this?

Well, if you really are party A, and you’re using a full-featured wallet, you can sign a message from that wallet.

image

Pick the address in question, type a message, and sign:

Your private key is used to create the signature. Now, take the address, message, and signature and send it to party B…

Address:
GbLHCYsfKrjZhMxfQDfrCYcxPydPf3zD28
Message:
This is really my wallet, Bob!
Signature:
H9b8blac3N3H5+fI0kMKyZYPpAYoVgHsdysldggEMQJqTLAxSOBjP4Sfbd8vAmsE1mTDmucGGGmVNBnpxcQB3NQ=

They can then open up the wallet software to Verify the message:

image

They enter the address, message, and signature:

And when they hit Verify, they’ll get this:

Message verified!

Note: this does not disclose your private key, so it’s safe to share all of this with party B. Nobody else can provide a message and a valid signature for your wallet address, because generating the signature requires your private key. A message like this is proof positive that you have the private key.

(Note: party B must copy-paste the message text EXACTLY. Even a trailing space will cause the Verification to fail.)

Hope this helps!