4

I had 3 Bitcoins stored on my PC and I had a backup image of my PC. I restored my PC on another computer from the image and I had 3 Bitcoins on that computer also. I spent 5 Bitcoins as a test, and it worked. What just happened?

Nick ODell
  • 29,396
  • 11
  • 72
  • 130
kirill2485
  • 239
  • 1
  • 3
  • 5
  • 5
    Can you be more precise about what you mean by "it worked"? – Greg Hewgill Jan 07 '15 at 19:46
  • 2
    You just made a double spend attack, but the transactions will be reverted as soon the network detect it. That's why is recommended wait for one confirmation at least. – Felipe Jan 07 '15 at 20:38
  • 2
    Can you give us the address(es) where you sent the bitcoin? – Mark S. Jan 08 '15 at 00:25
  • 1
    Wait, so it's that straightforward? I always thought/assumed it was pretty technically difficult to send double spent coins and/or malleable blocks? ie using raw Txns sent manually. – Wizard Of Ozzie Jan 08 '15 at 00:26
  • You won't be able to spend the bitcoins from the second source. Each transaction is verified by a plethora of other entities. So it is widely known that the first 3 bitcoins were spent from one place. The system will not let you spend them again from another place. – levininja Jan 08 '15 at 04:52
  • @levininja: That sounds more like an answer than a comment. :) – Murch Jan 08 '15 at 10:18
  • @Mark S. Bitpay and Coinbase – kirill2485 Jan 08 '15 at 23:20
  • 2
    Can you send us the bitcoin addresses so we can look at them on a site like blockchain.info to determine what the network actually did with the transactions – Mark S. Jan 08 '15 at 23:22
  • transaction hashes would be useful here – Albert S Sep 21 '16 at 19:45

4 Answers4

10

It's like two people holding on to the same $20 bill and each of them saying, "see, I have 20 dollars!".

Bitcoins can be spent/accessed by anyone that has the private key to unlock them. If two computers have the same private key stored, then they can both access the bitcoins. If one wallet spends the bitcoins, the other wallet will show them as spent as well, just like one person spending the $20 bill means it is gone for the other person.

morsecoder
  • 14,168
  • 2
  • 42
  • 94
  • So basically what your saying is it is possible to scam 2 different websites by using the same Bitcoins on both of them, right? – kirill2485 Jan 08 '15 at 23:18
  • 4
    Sort of. If both of the websites accept transactions with zero confirmations and they both happen to see the transaction that was sent to them before the transaction (sending the same coins) to the other site, then you possibly could. Most places don't accept zero-conf transactions, though, and you can't exactly control how transactions propagate. – morsecoder Jan 09 '15 at 15:37
7

As another analogy, it is like taking your bank statement, showing a $1000 balance, and making a copy of it, and thinking you now have a total of $2000 in two accounts. You don't; you are counting the same money twice.

If both computers' client software is in sync, then if you spend the coins on one computer, the other computer will also show them as spent. If you send coins from one wallet to the other, the destination wallet will show that you sent coins to yourself, and your balance will not increase.

If each wallet does show a total balance of 3 bitcoins, and they correspond to coins in the same addresses, then there should be no way to spend a total of 5 bitcoins. Indeed, there should be no way to get either client to even show that you have 5 bitcoins. It's not clear exactly what you mean when you say that you spent 5 bitcoins; for us to be sure of what happened, you would need to explain in detail exactly what you did.

If you spend coins from both wallets in quick succession, you may be able to create two different transactions that attempt to spend the same coins. This is called a double spend. However, only one of those transactions will be confirmed, so you can't actually get goods or services for both transactions, unless the other party is foolish enough not to wait for confirmations.

Nate Eldredge
  • 23,040
  • 3
  • 40
  • 80
1

This occurrence has it's own name and there are lots of resources about this problematic aspect of bitcoins: https://en.bitcoin.it/wiki/Double-spending

The Bitcoin police is on the way to your house right now.

ASA
  • 111
  • 2
1

When you say you spent 5 BTC as a test, do you mean you sent off transactions worth 5 BTC? You essentially just tried to double spend and the blockchain is going to reject one of those.

Nick
  • 125
  • 4