Recently there has been quite a bit of discussion surrounding a possible “death spiral” of the Bitcoin Protocol led first by a drastic reduction in the network hashing power.
This article is an attempt to broadly address this issue in a way that is beginner friendly. So I’ll start from the beginning and move through.
When one party sends money to another party on the Bitcoin network, the transaction needs to be validated and confirmed in order to ensure that it is legitimate. If you’re new to this, think of this process as somewhat akin to buying a gallon of milk with a debit card. You input a PIN to ensure that you own the contents of a bank account corresponding to the debit card and the bank then transfers the money from your account to the milk man’s account, updating their accounting books and therefore confirming it.
Validating the transaction on the Bitcoin network involves computers scanning the entire history of all transactions on the Bitcoin network (looking back through the blockchain) and ensuring that the money being spent is in fact valid money (not counterfeit) and belongs to the owner attempting to spend the money (ensuring that the party ‘signing away’ the money has the authority to do so). You enter the “PIN” by cryptographically signing a transaction and the money is transferred to another account by miners confirming the transaction.
Confirming the transaction involves placing the transaction into a block (a group of transactions waiting to be confirmed) and then attaching that block to the blockchain so the money can be seen by the network going forward and validated for the next spender. Bitcoin “miners” confirm the transaction. Confirming the transaction involves solving a cryptographic puzzle that requires computing power. Miners are incentivized to solve the puzzle because if they successfully do so, they are issued a reward. This reward is called the “block reward” because it is the reward for solving a block and adding a new batch of transactions to the chain.
So you may be asking, “how hard is it to solve a block and how often does someone typically solve one?”
The protocol is designed to keep the block time at around 10 minutes. It does this by adjusting the difficulty of the cryptographic puzzle to adjust for variations in the total computing power on the network.
To imagine what this is like, think of the cardboard jigsaw puzzles you put together with your family back before you told them to buy bitcoin at $17,000 and they left you. But instead of everyone working on the same puzzle, imagine that you are all working on your own different puzzles. Each time you solve a puzzle, you are given $100 and a new puzzle to solve. Also, everyone else must start a new puzzle from scratch.
In this scenario, the puzzle pieces are the transactions that need to be confirmed, the completed puzzle is a confirmed block, the $100 is the block reward, and the family is a distant broken memory.
Now imagine that rather than the five of you in the living room working on puzzles, there are 100 people working on puzzles. In some scenarios there are two people working together on the same puzzle! They’ve made a deal to split the 100 bucks between the two of them because they know they’ll have better odds at being the first to solve each new round of puzzles. This makes it harder for individual miners to solve puzzles but it also starts to make it much more difficult for “bad” miners (miners who seek to do nefarious stuff) to solve the puzzles. This is the essence of the bitcoin mining game. The more people working on puzzles, the more “secure” the network.
So now you may be wondering you keep the average block time (or “average puzzle solve time”) pegged around 10 minutes. If all of a sudden there’s a huge glut of puzzle solvers, the network will start cranking through blocks every 5 minutes or even every 1 minute.
The Bitcoin protocol is coded to adjust for variances in the total puzzle-solving capacity on the network, or the total “hash rate” of the network, every two weeks. So every two weeks, the difficulty of the puzzles changes based on the total hash rate of the network in order to re-target 10 minutes as a block time. If the blocks are solved too quickly, the network issues too much currency as a block reward, devaluing the currency. If the blocks are solved too slowly, the network won’t be able to push transactions through in a timely manner — after all, that’s what this mining business is for, securely confirming transactions and enabling users to safely exchange value.
Here lies one part of the alleged problem. The difficulty adjustment is notdirectly tied to two weeks of chronological time, but instead tied to block height and average block time. Rather than the difficulty changing every other Monday at noon, the difficulty changes every 2016 blocks. 2016 blocks at an average of 10 minutes per block equates to two weeks of chronological time (6 blocks in an hour, 24 hours in a day, 14 days in two weeks). So every 2016 blocks, the network looks back at the average block time of the prior 2015 blocks and readjusts the puzzle difficulty either up or down depending on the average block time. For instance, if the network looks back and sees each block was solved in an average of 9 minutes, the difficulty will increase. If the network looks back and sees each block was solved in an average of 11 minutes, the difficulty will decrease. And if the network looks back and sees each block was solved in an average of 911 minutes, then we go back on the petrodollar.
OK, here lies the second part of the alleged problem. Mining is a business; it takes up-front cost for computing hardware and on-going costs for electricity, maintenance, and internet connectivity. Remember that actors on the Bitcoin network are not in fact handing miners 100 dollar bills for their efforts, the miners are actually receiving freshly minted bitcoin. They also receive any transaction fees that users decided to attach to their transaction as an incentive to add it to the chain. So you can see that there is a real economic balance between how much mining activity there is on the network and the actual price of the underlying asset, bitcoin. If the price increases, more miners are incentivised to join the network because the block reward becomes more valuable. If the price decreases, miners are disincentivised to join the network because the block reward becomes less valuable. If the price drops too much, miners may even have to go off-line if they can’t even recoup the cost of the electricity used for mining.
So, what happens if the price drastically drops right after a difficulty re-target? If a large quantity of miners must shut down operations and the network computing power decreases with the difficulty still at higher levels, could this slow down block time drastically? If so, this would have serious implications on the ability to transact using bitcoin — any money received must first be confirmed before it is spent again. Users would be stuck waiting for a block to confirm that may take much, much longer than 10 minutes. What if it’s days? What if you are paid in bitcoin on Friday and rent is due on Saturday?
“Death Spiral” commentators see this as setting off a chain reaction of events where users lose faith in the protocol which further decreases the value of bitcoin which then further disincentivizes mining which then further increases the disparity between network hashing power and cryptographic difficulty which then further increases block time. And so on and so forth.
I won’t say that there’s nothing to the concern. As with everything in this space, there’s a delicate balance that is certainly well thought out and robust but at the same time frightening because of the unknown. There are things that we just have not experienced yet, or haven’t experienced at-scale, that seem incredibly daunting especially given the ultimate variable of the individual human actors involved.
Something like this happened a few times during the 2011 bubble bust with hash rate dropping significantly before a difficulty re-target. In that scenario there were numerous blocks with a block time over an hour. In the early days of 2009 and 2010 it wasn’t uncommon to have block times approaching a full day.
But those were the cowboy days. It was a new space and frankly the mathematics of large numbers were not in play yet. Some may argue that they’re still not in play. At that time the network was being secured by a handful of computers around the world, computers using their on-board CPU’s and GPU’s to hash the algorithm. Turning off your miner was as easy as exiting a window on your desktop. Relatively speaking, there wasn’t really any equipment overhead — most of the miners had been purchased as gaming or enterprise computers and were just re-purposed. They used very little electricity and were the toys of hobbyists.
In 2013 ASICs came on board as dedicated units built to hash the specific cryptographic algorithms securing the Bitcoin network. Since then, the proliferation of ASICs has been astounding and essentially all of the hashing power on the network is done by these machines. They can’t do much else, they were specifically built to mine bitcoin, or other cryptocurrencies that share the same algorithm. So the economics have changed a bit since the old days — people actually have a huge sunk cost in the game. There’s incentive for everyone involved in this space to keep the blocks moving and the network running. Can people mine at a loss indefinitely? No, absolutely not. Can enough people mine at a temporary loss to get through at least 2015 blocks to the next difficulty re-target in a reasonable amount of time? I believe so.
So what if they can’t?
In the event that the block time slows down to a crawl, something other than limping through to the next difficulty re-target may need to be done. I’m not saying I know what the exact circumstances would be…1 hour block times? 2 hour block times? No idea. But at some point the community will need to step in and approach the issue in a different way (if in fact this happens, which I think is unlikely) from a different angle.
There are two likely scenarios if the difficulty fails to re-target. The first one is significantly more elegant and much more desirable.
In the event that the miners can’t limp through to the next difficulty target in an amount of time deemed reasonable by the community, one option would be for Bitcoin participants to lure miners back on-line with transaction fees. The miners actually receive a block reward AND any fees that bitcoin senders choose to include with their transaction to incentivize the miner to include them in a block. Bitcoin holders could either increase the amount of fee that they include with already-scheduled transactions or even opt to send bitcoin through the network to themselves at a different public address, including a above-average fee with it. If enough people did this with enough transaction fee attached, it would lure miners back on-line in order to get to the next difficulty adjustment. I know to a non-coiner this sounds outrageous. But if you hold any significant amount of bitcoin, would you rather donate a fraction of it to the cause or risk a complete devaluation of your assets?
The next most likely scenario, to me, would be an emergency difficulty adjustment placed into the bitcoin code by the developers and adopted by the users, node operators, AND miners, much like bitcoin cash was forced to do post-hardfork. It’s not desirable. In fact it’s very very ugly and presents issues of difficulty-gaming by the miners as we saw with bitcoin cash. But in the face of death, I believe the community would choose non-death. There are enough people with enough at stake to heavily incentivize a solution to be adopted. But again, I don’t think it would come to this. I think the first two solutions are far more preferable, and since this network runs on game theory, more likely.
As with everything in this space, I will never say anything can’t happen but I can gather data and formulate a conclusion of what is likely or unlikely to happen. That’s an important distinction and one that needs to be understood by all who participate in this community. This is a network built on game theory, not force. Most importantly it’s a network that recognizes the importance of cooperation between users, node operators, and miners — it’s a true community.
And if I’m wrong? I’ll ride it down.
Check my BlockDelta profile for additional articles etc.