Double spending problem & attack in cryptocurrency explained

Bitsgap

·

2019-01-11

Most cryptocurrencies are decentralized. This means that there is no central authority which has control over them. Obviously, this leaves a lot of room for unscrupulous individuals to take advantage of the accounting system to benefit themselves, ruining it for everyone.

One of the ways this can happen is with the dreaded double spend. What is double spending though? How does it work and how do cryptocurrencies fight this threat in order to keep their financial accounting systems secure and free from third party interference? In this article, we’ll talk about that so you can understand how the whole thing works.

What is double spending in cryptocurrency?

In cryptocurrency, double spending is what happens when a digital coin can be spent twice. This obviously would cause the entire system to break down, so cryptocurrencies have a number of ways to deal with this. This is essentially what the POW and POS processes are for.

Some methods might be better than others at handling this problem, but every cryptocurrency that is to be trusted should have a plan in place to prevent the double spending attacks and secure the legitimacy of currencies that are issued.

How double spending works?

Bitcoin was the first successful digital currency because it managed to solve a very big problem, the double spend. In previous iterations of digital currencies, certain parties were able to copy their digital coins, allowing them to spend them again.

The systems behind Bitcoin and many other modern cryptocurrencies required “confirmations”. These confirmations are approved by using mining and this system makes it very difficult for anyone to actually cheat the system.

Double spending attack

While the system put in place by Bitcoin did work, there is one major flaw. It requires that the network remain decentralized. All of the miners need agree to transactions, and this prevents any one person from benefiting from wrongdoing that jeopardizes the network. The use of real-world resources also made the reality of controlling the majority of a network too costly to consider.

However, many cryptocurrencies have actually experienced a 51% attack, which can cause double spending to occur. If a miner who has too much power, or more likely a group of miners working together attacks the network and gains a power majority, then they can attempt to reverse transactions so that they can spend their currency again.

While this can be used to steal money, sometimes it’s also just used as a means to discredit or destroy particular currencies since their systems can no longer be trusted after the fact. In many cases, this is done using some type of security flaw or exploit.

Double spending example

Let’s say that Jimmy goes into a store and pays $5 for a sandwich. If he pays in cash, that money can’t be spent again because he no longer has it. He’s handed it over to the clerk at the store.

However, if he were to pay using a digital currency with no protections in place, then he could potentially copy that $5, spending it again and again. The confirmation process solves this problem by requiring confirmations and then making transactions irreversible.

However, if someone were to acquire 51% of the hash rate of the Bitcoin network, then they could potentially reverse these transactions and cause double spending to occur. If this happens it would damage the reputation of the currency. Possibly to a point where it could not be repaired, because trust in the system is now broken.

Is cryptocurrency double spending illegal?

Technically, there are no laws regarding double spending in cryptocurrency. However, it could be argued that it would fall under already existing laws for fraud. Since the people orchestrating a double spending scheme are actually stealing from the network, it’s possible that they could be found guilty under these terms.

How to prevent crypto double spending?

As Bitcoin grows in value, less people can afford to mine it. This leaves many wondering how long it will be able to stay decentralized. Major portions of the hash rate are now controlled by certain groups and this is dangerous for the currency.

In order to prevent double spending, the network must stay decentralized so that one party can’t take control and the code must be free from exploits. Any exploits could become potential attack vectors that could lead to a 51% attack that could compromise the network.

Is there a solution to fix the double spending issue?

The double spending problem is complicated, and it’s hard to create a decentralized system which can’t be taken advantage of. However, some cryptocurrencies such as Ethereum are discussing having miners put forth a “deposit” to allow them to confirm transactions.

Should those people be found to be acting in a way that negatively impacts the network, such as participating in double spending. They would lose their deposit. This could potentially make the risk for bad behavior not worth the potential gains.

Of course, the best defense against double spending is a network that has so many actors that it’s not possible to gain the majority needed to double spend. That and a secure code base free from vulnerabilities.

What coins besides Bitcoin can be double spent?

Potentially any crypto asset could be double spent under the right circumstances. Most cryptocurrencies function in a similar manner and if their defenses are compromised, then a double spend could happen to any of them.

Proof of work vs proof of stake double spending

Proof of Stake does not use miners to confirm transactions. While this does allow nearly anyone to contribute to the network it does create some issues of trust. Many POS networks employ other means to help prevent double spending like requiring coinage or something like Ethereum’s proposed “stake” method to catch bad actors.

The latter solves the “nothing at stake” problem which gives many people worry with POS coins. Anyone acting maliciously on the network will lose the coins they have put forward to be allowed to stake.