One of the biggest fears for a blockchain is that a malicious attack such as double spending occurs, which involves a bad actor essentially siphoning money off the chain. This was recently seen in one of Bitcoin’s forks, Bitcoin Gold, where $70,000 was stolen through double spending.
At a similar time, the biggest cryptocurrency by market cap, and the most secure by hash rate, Bitcoin, also experienced a double spend. This occurrence involved the tiny amount of $3 and based on how it happened, it is not being treated as a malicious attack on the network.
In fact, it took place because of a rare occurrence in which a stale block is generated, mined at similar times, by different entities across the globe. The stale block ends up getting orphaned, but the txs need to migrate and are sometimes left off.
Even with the dreaded double spending befalling Bitcoin, this instance actually shows that the blockchain is in good health and was able to jettison the stale block and continue with barely an issue.
The root cause of this small double-spend incident is what is known as a stale block. This happens on rare occasions, but it is not totally unheard of. The last stale block that was noted by BitMEX, which picked up this double-spend, was seen in October.
Bitcoin had a stale block today, at height 614,732.
This is the first stale block we have found since 16 Oct 2019 pic.twitter.com/zmSg9gsL5T
— BitMEX Research (@BitMEXResearch) January 27, 2020
A stale block happens when two mining pools, often on opposite sides of the world, mine the same block at almost the same time. In this case, the block that survived was 0.97 MB and mined at, 05:37:37UTC by BTC.com, the block that was eventually opened was 0.98 MB, mined at 05:37:56UTC by Poolin.
When a Bitcoin miner successfully finds a valid next block to append to the network, that block gets included to the entire network, but it first reaches the nodes that are geographically closest to where that block was discovered.
It doesn’t take long for every Bitcoin node on the network to receive the new block. However, if two miners located on polar opposite ends of the globe successfully find a valid next block at the same time, there is a conflict on the network that will only be solved by the longest chain winning.
The fact that this happened on the Bitcoin network, but was quickly corrected, is actually a sign that the system works. Some will be concerned that a double-spend like this took place, but it was not malicious, and it may not have even been successful.
A small issue
The double spending issue, which was not malicious, came as a result of the tx that was written onto the stale block before it was orphaned, causing it to be excluded from the next block. 39 tx made it on to the stale block and when it was orphaned 38 of those managed to make it onto the next block with the one tx, which had an input of 0.00034801 ($3) that was double-spent.
Of course, the understanding of a double spend is usually associated with malicious attacks so it is probably incorrect to call this instance a double spend. What it actually comes down to is the number of confirmations required to register as a transaction.
In this case, a single confirmation on the blockchain would be dangerous to rely upon as the double-spend would have been successful if only one confirmation was accepted. If three, or more confirmations, are taken as the norm, then the success of a double spend is reduced significantly.