What is Double Spending ?

6

Since Bitcoin is basically a digital file it’s easier to duplicate than actual money – this means some people can manipulate their way to paying more than once with the same bitcoin. This is what is known as “double spending”…so how can this be avoided ?

Let’s say I have only 1 Bitcoin and I decide to send it to you. This transaction (let’s call it transaction A) goes into the unconfirmed transactions pool and is waiting to be confirmed.

At the same time I send 1 Bitcoin to Bob, this transaction (let’s call it transaction B) also goes into the unconfirmed transactions pool. So I sent out one Bitcoin twice – once to you and once to Bob.

When the transactions are taken out of the unconfirmed transactions pool and put into the blockchain they are checked for their validity. So let’s say transaction A is pulled out of the pool. It seems to be valid (since I have one Bitcoin) and it is inserted into the blockchain.

Now transaction B is pulled out of the pool. It is invalid since I don’t have anymore Bitcoins to spend and it does not get confirmed.

But what if the validation process of A and B happened simultaneously ? Meaning both transaction will show that I have the money needed. Well in this case we will have 2 branches of the blockchain and a race will begin – the first one to achieves the next block of confirmations will win.

If they reach the next block simultaneously as well, we will have another race and so on.

This is why it’s recommended to wait until 6 confirmation before considering a transaction complete – Since it’s highly unlikely (like super highly unlikely) that this race will happen more than 6 times. So in the end we will have a clear winner and only one transaction will be confirmed. Until this race is resolved both transactions are in risk of getting canceled.

Now you know what double spending is and how to avoid it’s risks…

 

Find the best exchange to buy Bitcoins


Ofir Beigel

Owner at 99 Coins ltd.
Blogger and owner of 99Bitcoins. I've been dealing with Bitcoin since the beginning of 2013 and it taught me a lesson in finance that I couldn't get anywhere else on the planet. I'm not a techie, I don't understand "Hashes" and "Protocols", I designed this website with people like myself in mind. My expertise is online marketing and I've dedicated a large portion of 99Bitcoins to Bitcoin marketing.

6 Comments

  1. Hi, I had an issue two days ago sending BTC from green address wallet to another wallet. The transacition was doubled in the receiving wallet, one was confirmed and the another is pending. I’m just starting with cryptocoins and after readind this article I understand that it was my fault for not waiting fot all confirmation. And what can I do about that pending transaction in the another wallet, will it be eventually cancelled and how long does it takes? Thanks you very much for your help.

  2. Hello for my first payment (usin Electrum wallet) I set a very low fee because I didn’t know better (like 1 satoshi/B), after a few hours of waiting and reading I eventually modified it on Electrum (upped it to 40 sat/B) and after doing that it tells me on Blockexplorer that I made it a double spending. Did I do something wrong while modifying the fee? Or is that normal process with Electrum? Thank you

    • Zsofia - 99Bitcoins support on

      Hi, you should wait until the first transaction gets cancelled before resend it with a higher fee, otherwise it will result in double spending as happened.

Leave A Reply