clock menu more-arrow no yes mobile

Filed under:

Why does the Bitcoin network use such a crazy scheme to process transactions?

Shutterstock

The Bitcoin network’s process for maintaining the blockchain, the shared record of all Bitcoin transactions, might seem unnecessarily complex. But it accomplishes something that no other payment network has accomplished before: guaranteeing the integrity of the system without a central authority.

Until Bitcoin came along, computer scientists working on digital cash were bedeviled by the double-spending problem: how to ensure that the owner of a digital coin didn’t defraud the system by spending it twice. Before Bitcoin, the only known way to solve the problem was for a central authority to approve a transaction before it was considered final.

Bitcoin is the first electronic system to solve the double-spending problem in a completely decentralized fashion. If someone tries to spend the same bitcoin twice, the network refuses to add the second transaction to the blockchain.

For this scheme to be secure, it has to be extremely difficult to tamper with the blockchain. Otherwise, someone could spend a coin, delete that transaction from the blockchain, and then spend the coin again. The Bitcoin network makes that really hard to do.

Suppose that two different nodes try to add new blocks to the blockchain simultaneously. Which node will be accepted by the network?

The winner is determined through a computational race. Each node accepts the block it hears about first and then begins working on the next block. Whichever node solves the next round of the computational race not only gets to add a new block of its own, it also gets to choose which preceding block will be considered valid. If there’s still not a consensus after the second round, the process repeats, with the first node to find a third solution getting to choose the winner of the previous two rounds.

The probability of solving a block is proportional to computing power, so the Bitcoin network essentially operates on a principle of one computing cycle, one vote. A malicious party who wants to tamper with the blockchain would need to obtain a majority of the network’s computing power. Only then could it introduce a bogus block and then win the next few computational races to ensure that its block is eventually recognized by the rest of the network.

And as the network has grown, that has become very, very difficult to do. Right now, nodes in the Bitcoin network are performing more than 300 million billion mathematical operations per second. If you wanted to tamper with the blockchain in order to spend your bitcoins twice, you’d have to acquire more computing power than that.