Even before introducing Bitcoin, several attempts were made to create a sustainable digital monetary system. But no attempt turned out to be successful, the reason being, in digital money, there are always chances of transactions getting copied and spent twice.
Bitcoin could sustain the market as it could survive and thrive the ‘double spending’ problem. But the question here is that ‘what is double-spending?’
In simple words, double-spending is a process of making double online payments with the same digital value or currency. This may involve certain risks, and performing such actions also deceive the recipient of those funds.
Physical currencies do not come across such issues as replicating physical coins, as it’s not possible. Bodies involved in the transaction processes can immediately verify the authenticity and the legality of the physical currency. Credit card companies, banks, and payment processors validate the transactions themselves, thus minimizing the double-spending risk.
But when it comes to cryptocurrency, no third-party intermediary is involved; it is just the sender and the recipient. Blockchain is the way through which crypto holders can protect themselves against double-spending.
How double-spending occurs
There are multiple ways of typical double-spending occurrences. Initially, the cryptocurrency holder creates a false copy of a digital token. Then the same is sent to another party to pay for the items and services listed, all at the same time while retaining the original token.
Parallelly, the holder is trying to send the same cryptocurrency to the other party where it receives the products or services from both but only pays to one of them.
In another scenario, a digital token holder sends out a valid cryptocurrency transaction to another party. It then erases it after receiving the goods or services purchased.
In both cases, the other party, a merchant selling a product or service, usually bears the losses. Simultaneously, the cryptocurrency holder keeps track of the digital token as well as the merchant’s goods. Thus, double-spending can be termed as a digital form of theft based on financial and identity theft.
Tracking every bitcoin transaction
Since the first bitcoin client’s delivery in 2009, bitcoin’s blockchain has maintained a complete record of every transaction ever made. All transactions have been cryptographically hashed to the previous blocks, so there is no possibility of changing the record.
This record is called a blockchain, and a new group of transactions formed is known as a block which gets added every ten minutes. It is something similar to the traditional cash monetary system.
For sure, double-spending is scary, but the use of blockchain technology has decreased it to a greater extent. When ledgers or blocks logged the transactions, verification and validation procedures take place. And once a transaction is confirmed, it becomes public (or at least available to anyone on the network) and permanent, meaning no one can alter or erase it.
For instance, if a dealer is having 10 BTC (Bitcoins) and trying to spend it doubly by sending it to two different bitcoin wallets, only one would pass through successfully. Both the transactions will be stacked together with the rest of the unconfirmed transactions. Out of the two transactions, only one will be confirmed, verified, and approved, while the other one will become invalid.
Bitcoin is considered the first currency to use blockchain, effectively lessening and eliminating the chances of double-spending. Recently many digital currencies are effectively using blockchain-enabled platforms such as Tether, EOS, and Ethereum.
Types or nature of double-spending
Although many people believe that the existence of blockchain solves the double-spending issue, there have been some attempts to manipulate the Bitcoin protocol through race attacks, Finney attacks, and 51% attacks.
- Race attack
A race attack is a double-spend attack in which two transactions are sent rapidly, and only one is validated on the blockchain. The aim is to use the unconfirmed transaction to buy something and then invalidate it until verified. This is possible only if the receiver or merchant agrees to an unconfirmed transaction.
- Finney attacks
Only a miner can perform a Finney attack. A transaction from one wallet to another is pre-mined into a block by the miner. They then make a second transaction with the first wallet and broadcast the pre-mined block, which contains the first transaction. It requires a very particular procedure to work. Finney attacks are only feasible if the receiver acknowledges an unconfirmed transaction, much like a race attack.
- 51% attack
A 51% attack is when a group or entity holds more than 50% of the hashing power on a network in order to change the blockchain. They can launch a double-spend attack with this power. This is an unlikely situation in the Bitcoin protocol due to Bitcoin’s massive hash rate.
Concerns related to a double-spending attack
Although Bitcoin has survived this form of attack, other cryptocurrencies with less hashing power have had their funds doubled by 51% attacks. Since these attacks aren’t cheap, they’ve mainly targeted large-holding exchanges. The attackers must be able to effectively double-spend more than the cost of the attack in order to make a profit.
The amount of money sent and the blockchain used determines the suggested wait time. For Bitcoin payments under USD 1,000, one validation is commonly considered secured. Three confirmations are a common procedure for payments under USD 10,000. For very large transactions, several people suggest six confirmations. On Bitcoin, confirmations take place once every 10 minutes for each block. Some cryptocurrencies may have much shorter block times, lasting from seconds to a few minutes.
Double-spending attacks have been deeply studied and discussed extensively in the blockchain community. One can accept Bitcoin payments with the confidence that they won’t be double-spent as long as one doesn’t accept unconfirmed transactions.
Cryptographic hash function explained
A cryptographic hash function can be defined as a mathematical algorithm where a string of data is entered as input, and a fixed-sized arbitrary string is returned as output. For example, the input string reads ‘what is bitcoin,’ and the output string stores it as ‘3af4aceb81bc42fd81117e1.’
This process is a one-way function where the same input always returns the same output. There are no chances of reverse-engineering the input. Moreover, every output obtained is unique as no two inputs return the same output.
So every time a new bitcoin transaction takes place, a new hash gets added. The chain of ownership of each bitcoin can be verified simply by looking at the signatures that make up the coin.
It is not the only solution that solves the double-spending problem. There are no means for a payee to verify that any of the past owners of bitcoin had made no double-spend transactions.
As a solution, a central bank can be used to keep track of every transaction for double-spending, but this concept would contradict the concept of bitcoin. It was mentioned in the first place that bitcoin was discovered to solve the shortcomings of having a central bank.
Thus, double-spending is a way of spending the same cryptocurrency for two different online transactions, and blockchain is used to prevent it. Double-spending is controlled through blockchain by time-stamping a group of transactions and broadcasting it to the other nodes present in the bitcoin network. So, when the transactions are time-stamped with the blockchains on them, they are mathematically connected with the previous ones, making them irreversible and impossible to tamper with.
To gain more knowledge visit our latest whitepapers on blockchain and other related terms here.