Author

Topic: Recovery after hard drive failure (Read 10762 times)

newbie
Activity: 17
Merit: 0
May 23, 2010, 08:45:28 PM
#4
Thanks!  Glad to hear it's fixed in SVN.
administrator
Activity: 5222
Merit: 13032
May 23, 2010, 08:20:20 AM
#3
This should be fixed in SVN.
full member
Activity: 132
Merit: 101
May 23, 2010, 07:49:21 AM
#2
Bitcoin works with asynchronous key encryption, right? (If I'm not, please correct me!)

Can't we just put a simple button in the GUI that checks how much money we have by checking all the blocks if they belong to the user, or not?

Or am I talking gibberish and don't I fully understand Bitcoin now?
newbie
Activity: 17
Merit: 0
May 22, 2010, 11:57:35 PM
#1
OK, so I've been doing a little testing with double spending, and while I'm prevented from spending the same coins twice, I do see a potential problem: Lack of feedback to the second spender.  The second transaction never gets into a block, but the second spender doesn't seem in my testing to see any transactions that conflict with his view of his personal transaction history, even if they have made it into many blocks.  This could cause problems even if no fraud was being attempted: In the case of a hard drive failure, and a restore from backup.

Let's say I have 5000 bitcoins, and I make a backup of my bitcoin data directory.  Then I spend 2000 of them, and before I back my directory up again, my hard drive fails.  I restore from my previous backup, and expect that when I get the new blocks, my transactions for spending the 2000 will be in them.  The problem is, my client seems to ignore those transactions, and even after my client catches up I still think I have 5000 bit coins.   

I'm not sure that the right thing to do is in this case is to always accept the transactions, but it seems we should at least notify the user that something seems wrong if we see a conflicting transaction that's made it into a significantly long chain.  I think the user should also be able to choose to accept the transactions to prevent attempting to double-spend already spent coins in the above scenario.

Jump to: