Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: hashman on June 08, 2012, 03:04:25 PM



Title: Show me the money
Post by: hashman on June 08, 2012, 03:04:25 PM
One of the many awesome features of the public nature of bitcoin is the ability to "show me the money".

In perhaps the most famous incident of this kind when people thought MtGox had lost control of their coins a representative moved a certain amount of money, in effect proving that they still "had the money". 

However this is inelegant and not so secure, and many have done better. 

This post is about asking what you think is the best way to "show me the money". 

I'm looking for a tool that lets me take my private key or wallet.dat, and sign a message saying "Yes I have the money"  in such a way that anybody can verify that I do in fact have the money. 

I'm guessing this functionality is already in Armory or in one of the python or perl tookits out there? 

Whats the best way to do it?  yes, I realize that after the signing of the message the key could become compromised but I think this kind of functionality is still useful. 


Thanks.  1BTC reward for the first post that proves they control some BTC. 


Title: Re: Show me the money
Post by: finway on June 08, 2012, 03:09:25 PM
I think the reference client(bitcoin-qt) can do this.


Title: Re: Show me the money
Post by: rjk on June 08, 2012, 03:12:11 PM
After signing the message, the contents of the key could be spent too, not just compromised.


Title: Re: Show me the money
Post by: TangibleCryptography on June 08, 2012, 03:14:02 PM
Um?  the reference client has had this option for some time now.  I am not sure what I am missing.


Title: Re: Show me the money
Post by: drrussellshane on June 08, 2012, 06:13:19 PM
G80KGnVXPYzB/mIlfsJUWRnGiLJF8Gz08NCjQAzhgq12i/ZNpvFtSZw3sWzZx+jjETmZRm7F81iD9xVS9Dh8qLA=


^^^
I generated that by using the "sign message" option in the Bitcoin client.

I'm not sure how to convert it back right off, but it demonstrates my control of 1Fu5GtJDMTBi56c3fYZA3tre8tZGNd36FH.


Title: Re: Show me the money
Post by: rjk on June 08, 2012, 06:18:25 PM
That's just the signature; you would have to post the message as well so that it could be validated.


Title: Re: Show me the money
Post by: drrussellshane on June 08, 2012, 06:19:22 PM
That's just the signature; you would have to post the message as well so that it could be validated.

LOL can you tell it's the first time I've tried to use this feature?

The message said "I control this."


Title: Re: Show me the money
Post by: hashman on June 08, 2012, 06:26:01 PM
OK sorry for the reward you need to make a quick noob guide on how to verify the message :)

  thanks


Title: Re: Show me the money
Post by: rjk on June 08, 2012, 06:31:54 PM
Code:
$ ./bitcoind verifymessage 1Fu5GtJDMTBi56c3fYZA3tre8tZGNd36FH G80KGnVXPYzB/mIlfsJUWRnGiLJF8Gz08NCjQAzhgq12i/ZNpvFtSZw3sWzZx+jjETmZRm7F81iD9xVS9Dh8qLA= "I control this."

true

As you may have guessed, the format is bitcoind <bitcoinaddress> <signature> <message>
Response "true" means it is valid, and "false" means it is not valid.


Title: Re: Show me the money
Post by: hashman on June 08, 2012, 08:19:37 PM
C:\Program Files (x86)\Bitcoin\daemon>bitcoind verifymessage 1Fu5GtJDMTBi56c3fYZ
A3tre8tZGNd36FH G80KGnVXPYzB/mIlfsJUWRnGiLJF8Gz08NCjQAzhgq12i/ZNpvFtSZw3sWzZx+jj
ETmZRm7F81iD9xVS9Dh8qLA= "I control this."
true

Yup, worked on windows too.  Excuse my ignorance.  Reward split to message maker and verifier.   Thanks!

In this case you proved you control 0 btc :) 



Title: Re: Show me the money
Post by: adamstgBit on June 08, 2012, 08:25:37 PM
a low tech way to show the money,

take a picture of yourself next to your computer screen with the wallet file open


Title: Re: Show me the money
Post by: rjk on June 08, 2012, 09:02:38 PM
Reward split to message maker and verifier.   Thanks!
Thank you for the tip.


Title: Re: Show me the money
Post by: Stephen Gornick on June 08, 2012, 10:04:15 PM
After signing the message, the contents of the key could be spent too, not just compromised.

Yup.

I'm not sure the use case for this.  It doesn't solve the problem that Certified checks do:
 - http://en.wikipedia.org/wiki/Certified_check

There is one approach that might work.  

I wonder if this would be useful.  Consider a third party that prints a bitcoin check.  So I order one and send it to you.  As the buyer, I know the Bitcoin address of the check.

You get this paper bitcoin check (which shows me as the "Pay to the order of" on it).  That's just cosmetic but will make it so that this paper ins't really traded person-to-person like a physical bitcoin might be.  So the check would have the private key under a hologram and that would let me verify that you had added funds to it but have not yet spent it.

There's nothing stopping you from spending it, but at least I can be pretty sure the funds weren't traded away, and thus that you still have them at any one point in time.

At the same time, you retain full control of the bitcoins at all times.   The only risk is if the check printer couldn't be trusted to not have kept a copy of the private key, but that's a different risk that can be marginalized.


Title: Re: Show me the money
Post by: Morblias on June 09, 2012, 12:23:11 AM
a low tech way to show the money,

take a picture of yourself next to your computer screen with the wallet file open

with a shoe on top of your head.


Title: Re: Show me the money
Post by: DeepBit on June 09, 2012, 01:07:07 AM
a low tech way to show the money,
take a picture of yourself next to your computer screen with the wallet file open
Do you know that any screen image can be created in a matter of minutes, then shown fullscreen and used for such picture ? :)