Is is possible to prove you possess an amount of BTC without actually spending it?

10

2

I could think of several situations, especially in large purchase negotiations, where one party would like to know that the money is under the control of the other party before continuing with the costs of further negotiation and due diligence (e.g. $5k in a house closing).

LateralFractal

Posted 2013-09-08T06:54:17.750

Reputation: 901

Answers

10

You can sign any text with the private key you own and anyone can verify that with a public key associated with a given Bitcoin address. As long as you make the message relevant to the conversation, say "This is LethalFractal, at 2013-09-07, I claim ownership of address 1234567890... as a proof for negotiations with John Smith", the person can know that it is in fact you owning a given address, and since they can check the balance of that address, you will have proven that you have access to that money.

ThePiachu

Posted 2013-09-08T06:54:17.750

Reputation: 41 594

3To be 100% sure, the guy for whom you are proving ownership should provide you with some random text to put into the signature. But you must never sign verbatim text, so his random text should just be a part of your text.Eyal 2013-09-09T16:03:13.157

@ThePiachu can that be done today through wallets? If not are there steps you can provide?David Silva Smith 2013-09-15T03:55:29.850

1@DavidSilvaSmith You can do that through the standard client. It has an option to sign messages if you right click on an address you own as far as I remember.ThePiachu 2013-09-15T19:05:38.320

@ThePiachu, Are there any other alternative solutions that doesn't have to involve the private key?Pacerier 2014-03-08T13:41:53.623

@Pacerier The only way you control bitcoins is through knowing the private key. So in order to prove that you are the owner of a given address, you need to use the underlying private key in some way. I don't think there is a way to prove that you own a given private key without using the private key.ThePiachu 2014-03-09T06:20:22.380

@ThePiachu, It may be possible. If I have an address with 1.5 BTC, I could point it to you on blockchain. You would choose a random number between 0 to 1.5 BTC, e.g. 0.14362748. Then I would transfer that amount to my second address. But this method as it is, is flawed because it is fraudable (A couldn't tell whether B proved it or C proved it upon B's request to C for C to prove to B that C owns the address). Do you have any ideas on improving upon this method?Pacerier 2014-03-09T07:43:01.200

@Pacerier That method also involves a private key - you use it to transfer the money around.ThePiachu 2014-03-09T16:04:11.753

@ThePiachu, not true. On most online wallets, we are allowed to transfer the money around, yet not have access to the private key.Pacerier 2014-03-09T16:23:04.803

1

I don't know how technical you are or how much you care about the privacy in this matter, but you can prove that you own an amount of bitcoin without revealing which accounts you own using the Proof of Assets protocol from a paper called Provisions. You end up with a commitment to the amount of bitcoin you have and can open the commitment to prove you own a specific amount.

http://crypto.stanford.edu/~dabo/pubs/abstracts/provisions.html

This is probably excessive for your needs, but it ensures that your accounts remain perfectly hidden.

Zarquan314

Posted 2013-09-08T06:54:17.750

Reputation: 11