How Bitcoin Works: The social value of trust
Bitcoin is widely touted to be a “trustless” system. No player in the system needs to trust any other player. All of the transactions are verifiable. If a transaction is to be excluded, a large percentage of the players must all be in on the exclusion.
The mechanism is complicated but ingenious. But first, a quick Bitcoin primer:
In Bitcoin, there is no one “official” entity keeping the ledger. Anyone can participate and each participant has his own copy of the complete Bitcoin ledger. This ledger is known as the “blockchain” because transactions are grouped into “blocks” of transactions, and the blocks are “chained” together.
Bitcoin puts in a number of safeguards to make sure that the results of mining are trustworthy, even if individual miners are not.
The people putting transactions into blocks are known as “Bitcoin miners.” As a reward for putting together a block (which, as we will see shortly, takes quite a bit of effort), Bitcoin miners get a small amount of Bitcoin for their trouble. When a miner puts together a block of pending transactions, that block is attached to a previous block. It is then sent to other miners who know about each other.
Bitcoin blocks are hard to put together, so the first miner to put together a valid block gets to be the one to add the block to the blockchain. Then, the miners notify each other about the new block. Transactions that occur after that are added to the next block.
How do miners know about transactions? There is a network of miners, with the result that a transaction simply needs to be posted to one or a few of them, and it will be spread around. Because Bitcoin transactions are signed, there is no problem about fake transactions being introduced. Each transaction includes a transaction fee. The user gets to determine the transaction fee. But if it is too small, miners may not think the transaction is worth including. A transaction which is not included is “stuck in the mempool.”
How Can Miners Be Trusted?
As you can see, this system depends heavily on the miners. Bitcoin puts in a number of safeguards to make sure that the results of mining are trustworthy, even if individual miners are not.
First, because all the transactions are all digitally signed, it is impossible for a miner to include a faked transaction. That is because modern cryptography has developed techniques that make it impossible to fake someone’s digital signature. A properly signed transaction can be taken as proof that the transfer of funds was desired by the party sending the Bitcoin.
Second, each miner, on receiving a block, validates that the block is valid. The miner makes sure that the block does not violate any Bitcoin rules and that no transaction balances go negative. Therefore, while in theory, someone can create a block that contains bad data, the bad data wouldn’t go out to the network because the individual nodes on the network would reject the block.
It is at least theoretically possible for miners to withhold transactions from being processed. While that doesn’t seem very problematic, many potential threats to the system could arise if a miner could selectively withhold transactions. To prevent that outcome, Bitcoin includes a safeguard, so that no one can guess ahead of time who will be able to put together the next block of the blockchain. So, if I wanted to withhold a transaction, I couldn’t, because I can’t know which miner is going to be producing the next block. This magic is done with a game.
The magic of deciding which miner gets to produce the next block essentially amounts to solving a riddle. You may wonder, in such a system, who gets to decide the riddle? The answer is that the riddle is a mathematics question which is determined by the transactions of the previous block!
In other words, the question is derived from a combination of the transactions in the previous block, as well as the answer to the previous riddle. Now, this isn’t a simple riddle. Modern mathematics has created a variety of systems which create riddles which can’t, even in theory, be computed, they can only be guessed and checked. Once a block is put on the chain, the game begins. The riddle contains information from both the previous block and the new one that the miners are building. When a miner builds a block, it then attempts to answer the riddle that is formed from both the previous block and the block the miner is trying to build. When a miner puts together a valid block that also contains the answer to the generated riddle, that miner’s block is broadcast out to the network, which then validates the answer and then keeps moving on to the next block.
The idea of employing such a game to guarantee validity in a trustless environment is nothing short of groundbreaking. It is an amazing accomplishment, and I am impressed by it more each time I think about it. However, it does have some drawbacks, which, I think, will ultimately lead to its demise.
On rare occasions, two miners come up with an answer to the riddle at the same time. In those cases, there is a temporary split in the blockchain. However, one chain will eventually come to be considered “authentic” by the network (basically by majority opinion). Additionally, remember that only valid transactions are included in any case.
Because this game can only be solved by a guess-and-check process, miners will never know who will come out with the next block and therefore cannot prevent a transaction from coming into the system.
Additionally, the riddle has a difficulty level. The difficulty of the next riddle is based on how quickly the network was able to solve previous riddles. Therefore, as more players participate, the riddle’s difficulty can be tuned up or down.
The Cost of the Game
The idea of employing such a game to guarantee validity in a trustless environment is nothing short of groundbreaking. It is an amazing accomplishment, and I am impressed by it more each time I think about it. However, it does have some drawbacks which, I think, will ultimately lead to its demise.
The greatest weakness is the cost of the game. Remember, the point of the game is to be sure that the network need not trust anyone. Therefore, it essentially wastes away the computation power of all the participants in the game. Additionally, as more people participate in the network, it increases the difficulty of the riddle, therefore requiring more and more computation power to do the same amount of useful work.
With other types of networks, increased participation adds speed and efficiency but here, increased participation actually reduces the efficiency of the network, while adding no speed whatsoever.
To get a sense of how much all this computation costs, a single Bitcoin block takes 1.3 gigawatt-hours of electricity to produce. Each Bitcoin block has around 2,000 transactions on it (oftentimes less), so each transaction consumes on average around 700 kilowatt-hours of electricity. In comparison, the Visa network, using the same amount of processing power that Bitcoin uses for a single transaction, can process about 400,000 transactions.
Putting a Value on Trust
It is very interesting to study a technology that doesn’t rely on trust. However, in the end, the most interesting thing it tells us is not how we should build a network but rather the social value of trust in society.
More than economic power, more than scientific advances, trust is really what builds wealth in a society. When you can trust your neighbor not to steal, not to lie, not to try to ruin you, the increases in efficiency are gigantic. In the comparison between Bitcoin and the Visa network, the performance gain in efficiency of trust vs. lack of trust is 400,000x.
My hat is off to Bitcoin. Not only for developing an interesting technology, but also for teaching me in quantitative terms just what it is that I gain by raising trustworthy children. The time and effort spent to make sure that my children are trustworthy and just is more valuable than all of the STEM education I could throw at them.
Jonathan Bartlett is the Research and Education Director of the Blyth Institute.
Note: The mining cost data is sourced from Digiconomist.
See also: Is Bitcoin safe? Why the human side of security is critical (Jonathan Bartlett)