The Core Problem Bitcoin Solved — Double-Spending Problem

in Bitcoin3 years ago (edited)

Discussions surrounding Bitcoin often question what problem it solves and why it is more than magic internet money. To approach an answer, we’ll look at what it took for Bitcoin to become the world’s first digital monetary network.

Electronic cash was a topic of research for years, but one problem stood in the way of realizing that vision — the double-spending problem. Double spending means successfully spending money more than once. Imagine taking a $5 bill and paying with that single bill twice for a total value of $10. That wouldn’t do for sound money.

Especially for digital currencies, double-spending is problematic. In contrast to printed or minted bills and coins, duplicating digital information is relatively easy. Copy and pasting a text document is alright, but copy and pasting money generally isn’t.

A prevailing solution for this problem is to trust a central authority that observes and checks all payments. To quote Satoshi Nakamoto’s Bitcoin whitepaper: ‟The problem with this solution is that the fate of the entire money system depends on the company running the mint [creating the currency], with every transaction having to go through them, just like a bank.″

In computing, we describe systems such as these as having a single point of failure. If this part of the system fails, it stops the entire system from working. Having a single point of failure is a profoundly undesirable property for any system that wants to be highly reliable and available, be it business practice, software application, industrial- or financial systems. Satoshi Nakamoto, a pseudonym for an anonymous person or group, invented the solution we know as Bitcoin. Before Bitcoin, there was no way to make direct payments over a communication channel like the internet without a supervising third party acting as a single point of failure.

Let’s consider Satoshi’s description of Bitcoin before we take it one step at a time. Bitcoin is ‟a peer-to-peer network using proof-of-work to record a public history of transactions that quickly becomes computationally impractical for an attacker to change if honest nodes control a majority of CPU power″.

Computer networks often work in a client-server architecture, where servers provide functionality or resources to clients that request it. For example, you use a web browser like Google Chrome as a client to access online banking functionality provided by your bank’s web server. You don’t have control over the provided functionality, and if the bank’s web servers are down, the system becomes inaccessible.

ClientServer.png

Peer-to-peer networks follow a different architecture. They distribute tasks between equally privileged network participants called peers or nodes. Nodes simultaneously work as both clients and servers to the other nodes on the network. As long as there are nodes to connect to, the system will work as intended.

PeerToPeer.png

The nodes in the Bitcoin peer-to-peer network manage an ongoing public history of transactions. This history is called a ledger. It’s a collection of accounts with records of transactions and debit and credit sides, just like in bookkeeping. The digital ledger that the Bitcoin network collectively manages is called the blockchain. You can think of the blockchain as a shared database of Bitcoin transactions. As part of their work, nodes verify the correctness of each transaction and reject invalid ones, such as those trying to pay with already spent Bitcoin. Transactions are only written to the blockchain if the majority of nodes agree that it is valid.

Adding transactions to the blockchain requires computing power for a mechanism called proof-of-work. Proof-of-work ensures that transactions are unchangeable without redoing the work to write them to the network in the first place, in addition to the work required for all transactions that came after them in the blockchain. Therefore, with proof-of-work, the blockchain serves as proof of the transaction history and proof that the largest pool of computing power agreed to it. That is a core concept of Bitcoin. As long as the majority of nodes don’t consistently cooperate to attack the network, Bitcoin works as intended. The whole network with its collective computing power is Bitcoin’s defense mechanism against attacks. There’s no single entity to attack to bring it down.

This combination of a peer-to-peer network, a public digital ledger (the blockchain), and a proof-of-work mechanism allows Bitcoin to avoid a central authority while still solving the double-spending problem. This decentralized approach, avoiding a third party such as a bank, Visa, Mastercard, or PayPal, is why Bitcoin is that revolutionary. Centralized solutions existed before. Thanks to Bitcoin, everyone in the world with a smartphone and internet access can now make monetary transactions without having to rely on or trust any central authority or infrastructure.

I believe that common misconceptions about Bitcoin are due to looking at these concepts in isolation, while Satoshi’s research requires consolidating them. I hope this has been helpful to you. If you like this, consider to sign up for my newsletter The Bitcoin Espresso

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 64294.06
ETH 3427.66
USDT 1.00
SBD 2.59