What is Double Spending Issue?

Learn more about the Double Spending Issue and how it's solved on Privacy Blockchains.

What is Double Spending Issue?

There was a time in the not too distant past when credit cards were not immediately reconciled electronically. Before the invention and widespread adoption of the internet during the 1990s, credit card transactions were completed by manually pressing the card onto a transaction slip in a machine, the purchase details were then written in by hand, the owner of the card signed for the purchase. Then all those transaction slips were deposited at the bank at the end of the work day for reconciliation by the banks.

During those times, it was possible (but not legal) to visit multiple shops in a single day and make purchases that far exceeded the limits of the card, or of the funds in the person’s bank account. In such instances, the person would no doubt fall foul of the bank who issued them the card, and possibly also face questions by law enforcement over their behaviour. This was a type of double spending - old school - essentially spending the same money more than once.

The certainty with which any currency maintains its value is in knowing that the spending of said currency can’t be exploited or manipulated. Imagine the problems if you could load up your debit card with $1000 and yet spend the money multiple times.

Fraudulent spending of money you don’t actually have can have many consequences. Criminal charges for the offender, businesses being out of pocket for items they sold but never got paid for, and the subsequent lack of confidence that would manifest for the currency which was being exploited.

The same goes for counterfeit money - if anyone can just print more money, which is indistinguishable from the real stuff, then the same lack of trust in the currency will develop. This is why countries go to great lengths to add serial numbers and other security features to their currencies, and high security practices are in place where said currency is printed. Making bank notes impossible to reproduce is the goal of every currency producer.

In the electronic banking age, this issue has evaporated, with immediate reconciliation of payments via the internet, which negates the ability of using a debit card above it’s available balance - you can only spend what you’ve got in your account (assuming no overdraft facility).

People need to be able to trust that the funds being sent and received electronically haven’t already been spent previously. A lack of certainty in this regard means the currency is doomed to failure. People will quickly refuse to accept it, and when that happens, it’s game over for the currency.

But what of virtual currencies: Bitcoin, Ethereum, Monero, Safex Cash? If one bitcoin is just an electronic dollar bill, what’s to stop someone just clicking copy/paste on their computer to make more identical bitcoins, and then spending them?

Nic Custodio, in his article Explain Bitcoin Like I’m Five gives a simple, but effective, explanation of the double spending problem, and how cryptocurrencies solved the problem through the use of a distributed ledger.

For transparent ledgers like Bitcoin and Ethereum, where every transaction is visible and the coins can be traced from one address to another - all the way back to the miner who first earned it as a mining reward, it is fairly easy to ensure that any single coin is never double-spent from someone’s wallet - once they spend it, the transaction is written to the blockchain, and any further attempt to try and spend that same coin will fail, because the distributed ledger shows it has already been used.

But what of privacy blockchains, like Monero and Safex Cash? With the addition of one-time stealth addresses for sending and receiving transactions, it is impossible to trace the coins from one wallet to another. And with hidden wallet balances, how can we be sure which coins have been spent by a person, and which have not? How does the blockchain ensure a system of trust is maintained in the integrity of the currency?

The answer is the Key Image, which is part of the Cryptonote Protocol used by both Monero and Safex Cash. Some further detailed information on how the Key Image works can be found here.

As each transaction contains the Key Images for each output used, those outputs can never be used again in a subsequent transaction, and any attempt to do so will result in the nodes rejecting the transaction when any previously used Key Image is detected.

Double Spending Issue: Key image on Privacy Blockchain

Thus, Safex Cash can safely and securely be sent and received in privacy, all the while knowing that the currency is safe from double spend issues.