chains passing through block node

How Bitcoin solves the double-spending problem of the digital economy

The concept of electronic cash isn't new and has been attempted under names like E-Cash, Liberty Reserve, Digicash and others.

And yet, all these projects ran into the same problem: solving the double-spend problem without introducing a trusted third party akin to the existing financial system. 

So, what is this double-spending problem and how does Bitcoin solve it?

In this blog, Bitcoin SV Academy curriculum content contributor, Brendan Lee tells you what you need to know.

What is the double-spending problem?

The double-spending problem is the issue of an individual using or spending the same digital tokens or coins more than once.

Said in another way, it's the situation where tokens or coins end up in a disputed state of ownership, and are used fraudulently to purchase goods or services. 

The problem arises because electronic communications are easy to copy and repeat. Unless there's some kind of check that happens, it's very easy for the same funds to be spent multiple times in different transactions, and thus creating an ownership dispute over them. 

Different ways of solving the double-spending problem

As far as we know, the double-spending problem can be solved in two ways: 

1. A trusted entity acts like a mint and validates transactions are legitimate. 
Many systems in operation use this model, like certificate authorities for HTTPS/TLS website encryption. You get a certificate issued by a trusted authority, and you trust that it's legitimate. This can and does lead to all kinds of problems.

2. All nodes on the network (or at least the overwhelming majority of them) are aware of all transactional activity on the network.
When all activity is public, nodes are able to cross-check any newly submitted transactions against their up-to-date set, allowing them to detect double-spend attempts. 

How Bitcoin solves the double-spending problem

Bitcoin uses the second approach:

All nodes on the network (or at least the overwhelming majority of them) are aware of all transactional activity on the network.

When all activity is public, nodes are able to cross-check any newly submitted transactions against their up-to-date set, allowing them to detect double-spend attempts. 

However, one interesting aspect of the public activity model of solving double-spending is the implications of the fact that all nodes must be aware of the activity. 

This means that the nodes on the network must be able to communicate with each other really fast - implying that there must not be too many nodes on the network, and they must be very densely connected. 

Bitcoin solves these problems by using proof-of-work, the first seen rule of transactions and making consensus the act of nodes receiving a block as opposed to the node that found the block.

The first seen rule

In practice, the first seen rule incentivises nodes to propagate transactions to all nodes as soon as they're received. By ensuring that other nodes always have a completely up-to-date TX set at all times, it increases the speed by which their own block can be approved by the network once a hash solution is found, increasing a node's probability of getting paid.

How the first seen rule prevents double-spending

In the unlikely event that an individual submits two transactions to different nodes in the network trying to spend the same coins, the densely connected network will pick up on the duplication at break-neck speed. The first seen rule will determine that only one of the transactions is valid (the first seen by the majority of the network) and the other one discarded.

Nakamoto consensus rules are the key to scaling Bitcoin

It can also be argued that using the consensus model described in the Bitcoin white paper and applied by BSV is the only way to solve double-spending without the use of a trusted third party. 

And, that systems like Ethereum which aim to be as decentralised as possible, cannot work because they end up in what's called an NP-complete problem where their network nodes are unable to communicate quickly enough to trust each other and thus must verify all received transactions themselves; meaning it's impossible to scale the network. 

This is why Ethereum’s gas fees are so high, and throughput is so low for Ethereum - and all other digital currencies (including BTC). 

Introduction to Bitcoin Theory course

If you’re interested in learning more about Bitcoin’s economic principles and consensus mechanisms, we recommend the Bitcoin SV Academy’s introduction to Bitcoin Theory course. 

This beginner’s course covers the design of Bitcoin as a system as prescribed by Satoshi Nakamoto and is open to anyone who is interested in Bitcoin. Some technical experience would be helpful to complete the course, however it is open to anyone regardless of experience. Upon completion of this course, students will be awarded a certificate.

Bitcoin training of any nature will demand the dedication of your time and energy. Undoubtedly, you have your own reasons for undertaking the challenge. So, before you sign up for a Bitcoin or blockchain course, we suggest you learn more about our Bitcoin Theory courses, read feedback and reviews from alumni, and see a course outline over here.

Brendan Lee
Brendan Lee

Training and Development Manager - Bitcoin Association