Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: ronaldmaustin on February 15, 2011, 10:23:20 PM



Title: Where did the $3.37 come from?
Post by: ronaldmaustin on February 15, 2011, 10:23:20 PM
I routinely got payments from a mining pool and immediately turned the funds into MtGox for immediate sale.  Thus, I run a 0 balance in my wallet.  I have not used the pool in a week and get no other payments from anywhere.  Yesterday, after reinstallation of bitcoin I took my backup of my wallet, which was made moments earlier and had a 0 balance, and placed the wallet back where it belonged.  The wallet showed all of the transactions and the 0 balance, but nothing had confirmations and bitcoin took some time to update on the network and collect all 108000 blocks or so.  During the process, the balance changes, of course because all of the prior transactions are being confirmed.  At the end of the process I had 3.37 bitcoins.  Where did they come from?  I had no new payments coming in from the mining pool and a 0 balance in my wallet prior, having been connected to the network 24/7. 

I did some cross checking and did see a payment that came in from the bitcoin mining pool on January 29 in the amount of 3.37 with 3000 confirmations.  Could be a coincidence.  I sent the 3.37 today to Mtgox and have 3/unconfirmed so I don't thing this is a double spend.  This 3.37 was sent to 1214fZQFKUMFmwGWusguY4qkRPJqsivwX8 at mtgox, for anyone that is capable of tracing the actual source of those funds in block explorer.

Some may say, well, a free 3.37.  But like those penny errors in accounting, favorable or not, this points to something being wrong.  How can bitcoins go missing and then just come back later assuming one has been connected to the network 24/7.


Title: Re: Where did the $3.37 come from?
Post by: kiba on February 15, 2011, 10:26:34 PM
You don't need to be connected to the network to receive payment.


Title: Re: Where did the $3.37 come from?
Post by: theymos on February 15, 2011, 10:42:11 PM
Bitcoin saw a transaction, but it didn't recognize it as yours at the time. This is common after restoring a wallet backup without deleting your block database.


Title: Re: Where did the $3.37 come from?
Post by: ronaldmaustin on February 15, 2011, 11:06:44 PM
Bitcoin saw a transaction, but it didn't recognize it as yours at the time. This is common after restoring a wallet backup without deleting your block database.

So the updates coming in do not make sure that my block database perfectly matches what's out there?  There should probably be some function within the program to check the integrity of my database against what's out there, or a mechanism for updating all of the blocks without a complete delete and restore of the program.  Maybe it could check checksums of the block database instead of having to download the whole database again for several hours.  You say this is common, but I see it as a problem.  If I don't see my money in my wallet, it's almost as bad as not having it.  And people are going to scream someone is stealing money from them with minor errors like this.


Title: Re: Where did the $3.37 come from?
Post by: ronaldmaustin on February 15, 2011, 11:07:54 PM
You don't need to be connected to the network to receive payment.

Yes, but when you finally do connect to the network, it should properly "balance your checkbook" so to speak.


Title: Re: Where did the $3.37 come from?
Post by: theymos on February 15, 2011, 11:10:35 PM
So the updates coming in do not make sure that my block database perfectly matches what's out there?  There should probably be some function within the program to check the integrity of my database against what's out there, or a mechanism for updating all of the blocks without a complete delete and restore of the program.  Maybe it could check checksums of the block database instead of having to download the whole database again for several hours.  You say this is common, but I see it as a problem.  If I don't see my money in my wallet, it's almost as bad as not having it.  And people are going to scream someone is stealing money from them with minor errors like this.

0.3.20 has a -rescan switch that will re-check blocks without downloading them again.

It only happens after you restore your wallet.dat file. Most people don't do that very often.


Title: Re: Where did the $3.37 come from?
Post by: ronaldmaustin on February 15, 2011, 11:19:43 PM
It only happens after you restore your wallet.dat file. Most people don't do that very often.
If they want to find "free money" like they do in their sofa, perhaps they should.  On a related note, one thing that occurs to me is that if the database can take hours to download now, what happens when there are 20 times as many blocks out there and it takes a day.  Moreover, if I understand correctly, the database we all share is an accounting of EVERY transaction that ever took place with bitcoins.  What happens if bitcoins gain wide acceptance as payment and it takes weeks to download the complete database?  Are we hoping for higher internet speeds?  Will someone mail out a bitcoin database DVD?


Title: Re: Where did the $3.37 come from?
Post by: theymos on February 15, 2011, 11:23:21 PM
If they want to find "free money" like they do in their sofa, perhaps they should.  On a related note, one thing that occurs to me is that if the database can take hours to download now, what happens when there are 20 times as many blocks out there and it takes a day.  Moreover, if I understand correctly, the database we all share is an accounting of EVERY transaction that ever took place with bitcoins.  What happens if bitcoins gain wide acceptance as payment and it takes weeks to download the complete database?  Are we hoping for higher internet speeds?  Will someone mail out a bitcoin database DVD?

Only generators need to generate all the blocks. The "lightweight" mode for clients just hasn't been implemented yet.


Title: Re: Where did the $3.37 come from?
Post by: Hal on February 16, 2011, 12:14:55 AM
Actually I'd say this hints at a serious bug in the client. Look at the record of Ronald's address for receiving money from the mining pool:

http://blockexplorer.com/address/1D3hzQnKeQuKoHZ7vZPu8bygiRRMvfhSow (http://blockexplorer.com/address/1D3hzQnKeQuKoHZ7vZPu8bygiRRMvfhSow)

He receives payments and then sends them on, returning again and again to a zero balance.

Until the first tx of 2011-01-30, when he receives 3.37. From then on, he no longer reduces his balance to zero; he reduces it to 3.37. This transaction alone is not transferred.

Clearly the wallet simply missed this transaction. Yet it picked up a transaction to the same address 8 hours earlier and one two hours later.

So there are two possibilities that I see. One, Ronald was messing with his wallet at that time and somehow removed this address from the wallet for a brief time, then put it back. Not an easy thing to do, I don't think. (Maybe deleting the wallet for a while, then restoring it?)

Possibility two is that the client somehow overlooked the transaction due to a bug. Obviously not something that happens very often. What could it be? Maybe something to do with block collisions and chain reorg?

The block with the missed transaction was 105286. Any way to tell at this late date whether there was anything unusual about this block?


Title: Re: Where did the $3.37 come from?
Post by: theymos on February 16, 2011, 12:21:08 AM
Clearly the wallet simply missed this transaction. Yet it picked up a transaction to the same address 8 hours earlier and one two hours later.

He probably just restored his wallet to a version that was a few hours old.

- He received the transaction
- He restored his wallet
- The transaction is not in his wallet any more, but the block is already accepted, so Bitcoin won't notice the transaction again


Title: Re: Where did the $3.37 come from?
Post by: nounderscores on February 17, 2011, 10:31:40 PM
I'm confused, can he spend that B3.37? or is it the new minimum amount for his account?

Maybe a test transaction to mt gox might be in order.