Eating the Bitcoin Cake
I first discovered Bitcoin in early 2011. Like many, I thought it was brilliant. Bitcoin transactions were decentralized, secure, fast, cheap, and unlimited.
- Decentralized: Thousands of nodes verify and relay all Bitcoin transactions.
- Secure: Bitcoin network was secured by millions of dollars of hardware.
- Fast: Confirmations were fast. Zero confirmation transactions are very safe as double spend attacks are impractical.
- Cheap: You can pay little to no fees. Your transactions will all get mined in the next block.
- Unlimited: At that time, Bitcoin block sizes were tiny compared to the block size limit. Transactions being delayed due to block size constraint was unheard of. So there’s effectively no limit on transaction throughput.
The reason why this is the case is due to the brilliant design of Satoshi Nakamoto. Bitcoin is bootstrapped like a startup: equity is paid to the employees initially until the company can make enough money to start paying higher salaries and less equity. In the case of Bitcoin, mining block rewards pay for the cost of the distributed network initially and slowly transition to have users of Bitcoin pay for that cost. And like a startup, Bitcoin miners are invested in the success of Bitcoin.
Essentially, early Bitcoin users get the cake and eat it too. Unfortunately, this won’t last. By design, the block rewards halves every 4 years and will trend towards zero. As that happens, we will have to choose which of these 5 core Bitcoin features (decentralized, secure, fast, cheap, and unlimited) we are most willing to sacrifice. I will use an analogy to paint the picture for why this is the case.
King Satoshi built a castle for his peasants. He decides to pay 50 gold pieces a day to hire soldiers to protect his castle and the peasants. Since he does not have unlimited wealth, the plan is to cut the subsidy by half every 4 years. So starting year 5, he will only pay 25 gold pieces a day. After about 100 years, he will no longer pay any subsidy for the soldiers. The idea is that the peasants will start to appreciate living in this secure castle that they will be willing to eventually pay for these soldiers.
Satoshi Castle’s security is so good that a lot of peasants from other castles have started to move to Satoshi Castle. King Satoshi is a very welcoming king and lets everyone in. Everything is well and good until one day the castle started to get crowded and can no longer fit all the peasants that want in. What is King Satoshi to do? He can:
- Expand the size of the castle and welcome everyone.
- Start charging taxes on the peasants to pay for the soldiers. The tax will make it so that poor peasants can’t afford to live in Satoshi Castle.
Of course, none of the peasants want to start paying taxes and they want Satoshi Castle to stay being the utopia that it was. So the vocal majority is in support of expanding the castle boundaries. Ignoring his own unease, Satoshi decided to listen to the peasants and to double the size of the castle every 2 years.
As time went on, the problem starts to become apparent. The larger the castle gets, more powerful soldiers are needed to protect the castle if they want to maintain the same level of security. As King Satoshi’s subsidy started to decrease, some level of taxation became inevitable. But the poor peasants can only afford very little, and rich peasants weren’t willing to pay more than the poor ones. Not being paid enough, soldiers start to quit. This left the castle vulnerable to attacks. One day, soldiers from Yellen Castle came and stormed Satoshi Castle and destroyed it.
As you can see from this analogy, increasing the block size limit (castle size) instead of increasing taxes (transaction fees) will result in soldiers (miners) quitting and a decrease in security.
Early Bitcoin users are spoiled. Having used a decentralized, secure, fast, cheap, and unlimited network for a few years, they are not willing to concede on any of these 5 features. Most of these early Bitcoin users don’t understand how and why Bitcoin works. You cannot have the most secure network being highly decentralized and still get huge transaction throughput, fast transactions, and low fees. Somethings have to give. In the case of Visa, you are giving up decentralization and cheap, but you get fast, secure, and unlimited. That’s not a bad tradeoff, but that’s not Bitcoin. Running a centralized system is much more efficient and cheaper than the total cost of a decentralized system. If Bitcoin has 5000 nodes, the cost of a Bitcoin transaction will be something like 5000 times that of a Visa transaction. That’s just the nature of decentralization. The cost is multiplied since each node has to do the same work as every other node. Mining block rewards is paying for that cost today. As mining block rewards trend towards zero, transaction fees will need to pay for this cost.
People think that a solution like BIP101 will work, but I think BIP101 is too dangerous. As shown by the castle analogy, BIP101 is valuing cheap and unlimited over secure and decentralized. (BIP101 has no effect on fast, but as one can see from the Replace-by-fee proposals, fast won’t last long.) BIP 101 increases the block size too quickly. This will destroy any chance of a fee pressure due to supply constraint. So in order to keep high throughput and low fees, security and decentralization will be destroyed eventually. This would happen because miners will create large blocks that are not economical for the network to bear. This forces other miners to leave since they will be unprofitable. So, security and decentralization will be gone as block rewards decreases. What happened to Dogecoin will happen to Bitcoin and merged mining cannot rescue Bitcoin in this case.
This is not the Bitcoin I signed up for.
Marginal Cost of a Transaction
Ok, so if we have a large number of transactions each paying some fees, can those fees add up to be enough to pay for the miners to secure the network? Unfortunately, no.
The Bitcoin network is a zero sum system at equilibrium: the transaction fees plus the mining block rewards must be pay for the total cost of running the Bitcoin network. When block rewards is at zero, the transaction fees must pay for it all. The design of Bitcoin is that one miner receives the transaction fee but every miner must pay the cost to relay, verify, and store that transaction. This imbalanced cost/reward relationship is what prevents Bitcoin from staying secure and decentralized at equilibrium if there was no transaction supply constraint.
As an example, let’s say there are 5000 miners/nodes, and the marginal cost to process a transaction for a miner (i.e. verify it, add it a block, and store it) is $0.0001. The total cost on the whole network is roughly 5000 * $0.0001, or $0.50. The average transaction fees needs to be $0.50 in order for this network to be sustainable. If the fees were less, less efficient miners will not be able to make more than their cost and will be forced to shut down their miners and quit. This leads to less security and more centralization.
The only way to ensure that the transaction fees is enough to pay for the security and decentralization is to have block size limit act as a supply constraint for transactions. Without a small enough block size limit, miners will mine transactions that have transaction fees more than their marginal cost but less than the total cost the network has to bear. For example, let’s look at transaction that paid $0.01 in fees. Since it only cost the miner $0.0001 to add it, of course, he will mine that transaction. But that transaction is uneconomical for the whole network. When mined, it will hurt the network. In contrast, if there was a block size limit, miners can only mine transactions paying the most fees. And that ensures a healthy equilibrium between transaction throughput and transaction fees.
In the end, we are just trying to figure out which dials to tweak to help Bitcoin grow. The block size limit dial should be tweaked with extreme caution. As it could destroy the security and decentralization of Bitcoin.
Bitcoin Is Not One-Size-Fits-All
I contend that we should design Bitcoin for security and decentralization above all else. Transactions that need the highest security and decentralization will need to pay the higher transaction fees required to use the Bitcoin network. Not all transactions can afford this fee, but then they likely don’t need the security and decentralization. And that’s perfectly fine. They can use Litecoin and altcoins, sidechains, payment channels, lightening networks, off-blockchain networks, and other yet to be created networks to send those transactions. Heck, they can still use Visa if merchants are willing to pay the fees.
You would use bitcoin to buy a house or a car. A 60-minute wait and a $1 fee for an extremely secure, decentralized, and irreversible transaction is perfectly fine. If you are buying coffee and need a cheap but fast transaction but don’t care about security or decentralization, you can use Litecoin, lightening networks, sidechains, or even Starbucks off-blockchain transactions. As long as everything is seamless, users don’t care. Transactions will be routed to the payment network that makes the most sense based on the needs of that transaction type. Technologies like on-chain swaps, lightening networks, payment channels, and sidechains will allow seamless and cheap/free conversions between Bitcoin and everything else. Wallets will hide all that complexity from the users. We are not there yet, but that future is very exciting. Not every transaction will be native Bitcoin transactions but every person will use Bitcoin.
P.S. I’m the creator of Litecoin. Although some people think that it’s a conflict of interest, I don’t. Before I created Litecoin, I knew that Bitcoin’s transaction fees will eventually price out a lot of smaller purchases. So I created Litecoin to complement Bitcoin.