Satoshi solved this problem by showing all transactions in a public list. Whenever a new transaction is made, its validity is checked by confirming from the list that the digital currency was not used before. This way, no one can copy the currency and use it for more than one time. It’s a simple but effective idea to stop double spending of the same bitcoin.
Double-spending in the Bitcoin world is becoming a very rare occurrence, but that doesn’t mean it is impossible to pull off this type of attack.
What is a double spend?
We can make many copies of digital data, e.g. people copy software and sell it as counterfeit or pirated copies. We may face the same problem with digital currency – one can copy the digital currency (let’s suppose $25) and use it as many time as he/she like (as many notes of $25).
A double spend is an attack where the given set of coins is spent in more than one transaction. There are a couple main ways to perform a double spend:
- Send two conflicting transactions in rapid succession into the Bitcoin network. This is called a race attack.
- Pre-mine one transaction into a block and spend the same coins before releasing the block to invalidate that transaction. This is called a Finney attack.
- Own 51+% of the total computing power of the Bitcoin network to reverse any transaction you feel like, as well as have total control of which transactions appear in blocks. This is called a 51% attack.
To prevent damages from the first attack – wait for one confirmation to appear on a given transaction. To prevent damage from the second attack – wait for 6 confirmations to appear on a transaction, or less if the transaction is small (but still require at least 1). Damage from the third attack can cripple the entire Bitcoin network, so don’t worry about it – your business most likely won’t be the main target (it’s unlikely to happen without really big money getting involved).
A majority attack has never been executed on the Bitcoin network. As far as Race and Finney attacks are concerened, both could be easily thwarted with a minimum of six confirmations. Apart from this, BlockChain takes into consideration the timestamps recorded in its public ledger to avoid any double spending.
Now you know what double spending is and how to avoid it’s risks…