7

Is it possible to prove that you are the sender in a transaction? Prove this to 3rd-parties, not only the receiver.

3

Yes, it is possible. You would do that by signing a message using the private key of the address which you sent the transaction from. Bitcoin-QT offers this functionality by clicking the button called "Sign Message". Anybody can then verify that the message could only have come from the owner of said address.

To ensure privacy, you would perhaps not want to put private information into that message, but rather announce to the third party that you will send them a message with some sort of passphrase (or ask them what passphrase they would like you to use), e.g. "This verifies my ownership - 54123" and then later on, send them exactly that message signed by using your private key.

  • 1
    What address would you use to sign the message? There's no "sender" address in a transaction, only inputs/outputs. I think a good solution would be to use the change address, but how do you determine what the change address is? – Joris Vanhecke Dec 11 '13 at 11:14
  • The "sender" address is the one, that you had previously received the inputs to. I.e. the receiving address of the transaction that gave you the bitcoins that you are now spending. The change address is not useful in this case, because nobody has a way of knowing whether you sent the change of the transaction to yourself or to a third party. If you don't know which address the inputs belonged to, you can easily find out by checking the transaction id on a block explorer such as blockchain.info. – Murch Dec 11 '13 at 11:25
  • So I can be sure that all the addresses from all inputs belong to the same private key/person? – Joris Vanhecke Dec 11 '13 at 11:49
  • Maybe not belong but they have access to the private key (think of a service sending coins on behalf of someone else, they have control of them but they do not belong to them in reality) – MaxSan Dec 11 '13 at 14:29
3

You cannot "own" a transaction. But you can own the private keys for one or more of the addresses from the inputs of the transaction.

A (regular) transaction must be signed with the private keys of the addresses of all the inputs. So if you own one of the addresses, the transaction could not have been verified without you, which may count as "ownership" if you want to call it that way.

Proving that you own an address can be done by signing a message using the private key of that address. Most wallets provide signing functionality. Just agree on a message, something like "I, [name with which the other party knows you], am the owner of address [address from the input]." After signing, you can send the message and the signature to the other party and he will be able to verify your ownership of the private key.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.