The fork proposal has a lot of debate depending on the argument that there is an imminent crisis if we do nothing. However, this claim is being vastly overblown and does not consider what actions are very likely to occur if congestion becomes more frequent.

The Cost of Doing Nothing

Bitcoin Doomsday proponents argue that doing nothing will cause great harm and cripple the utility of Bitcoin. While there will be bumps in the road, the cost of doing nothing is being exaggerated. The main cause of concern is that blocks will fill up. This was tested with a brief DDOS attack on the network last week. It’s true, if there are more transactions generated than can be accommodated in the blockchain, there will be some negative impacts. Nodes were not designed with dealing with this situation and handle it poorly. Wallets handle this poorly with funds that are considered spent but not received as they wait in the mempool, possibly for a long time. The current behavior is highly undesirable and will cause a lot of pain.

Pain is the Engine of Innovation

The failure of this analysis is to assume that the world is static. Yes, the current systems are poorly equipped to handle congestion. But that doesn’t mean it will always stay that way. People adjust. When the network reaches capacity, it means that transactions with the highest priority (as decided by nodes) will be given priority to be added to the ledger. Given there is a pricing mechanism already built in (fees), the signaling of importance of transactions will determine a great deal access. Fees will rise. Use cases that were normal in the past become inefficient. This has happened before. Satoshi Dice had a great deal of low-value transactions filling the network in the past, and as the economics changed, they moved to sites that supported off-chain transactions. As tipping grew in popularity, tipping by sending small amounts through the blockchain became inefficient and moved off-chain to solutions like ChangeTip. These solutions existed not because of time for development, but because the motive of profit. The world will change. People will stop using Bitcoin for more trivial use cases and will consolidate as much as possible. Many small transactions will change to payment channels. Hub-and-spoke systems will now have the possibility to profit, and will actually have an incentive to be created, other than instant confirmations. Lightning Network will be given a tangible incentive to be built, other than being a neat project.

Value Proposition

Bitcoin offers an incredible value proposition compared to the alternatives of fiat and gold. It holds the best qualities of each- a fixed supply, non-counterfeit-able, divisible, and easily transportable money. It’s value proposition lies from its fundamental properties. This value proposition is quite apparent, as people jump through numerous hoops linking bank accounts to exchanges, paying fees. It makes no economic sense to jump through these hoops just to buy something with a low transaction fee (that merchants absorb anyway). Many people buying Bitcoin are spending a great deal of time and expense to acquire it. These use cases will be unaffected by slightly higher transaction fees. They likely will be unaffected by considerably higher transactions. For example, if I wanted to purchase $1000 of Bitcoin on Coinbase, I would have to pay 1% + $.15, which would come out to $10.15. Will I be deterred by having to spend $0.05 instead of $0.01 to transfer it to on wallet? Would I be deterred by having to spend $1.00 instead of $0.01? Probably not even then. I’m already spending $10.15 to acquire the Bitcoin to begin with. I must already consider Bitcoin to be quite valuable to jump through so many hoops, so what is another dollar more?

Marginal Cases

The changes that occur will occur at the most marginal cases. When fees were fractions of a penny, it made sense to send someone a nickel on the blockchain. With a $.01 fee, this use case starts to break down. Does this harm Bitcoin? Not in the least, it shows there is was significant interest to pay larger fees to use it. Users still have access to those use cases, albeit with slightly worse trust models, through other services. Even trust-free models are possible with payment channels.

Nobody goes there anymore, it’s too crowded. — Yogi Berra

The argument is Bitcoin will become too crowded, therefore it won’t be useful. This argument is completely ludicrous. If something is so popular that people are willing to pay high fees to access it, it is showing tremendous value. Only the marginal cases will be effected, until capacity matches demand.

Dealing with Bad Behavior during Congestion

The DDOS attack stress test was used to try to “prove” what would happen if nothing occurs. Of course, this is quite silly, as the network is not static and people react. But the software needs to improve. These improvements will invalidate many current assumptions, such as 0-conf transactions being “safe”. The proponents of change, such as Mike Hearn, are also strong proponents on reliance on these assumptions, even when they are not technically strong. However, Bitcoin will change with time, and it cannot forever stay what it was. There are several solutions to how to handle congestion better.

The Root of the Problem

Currently nodes behave in a mostly predictable manner by keeping unconfirmed transactions in their mempool. If they see any attempts to spend the same inputs again, they will ignore them. This policy is not one that is guaranteed by the protocol, but one that is a default that most nodes tend to leave alone. The mempool can grow unbounded, so any transaction considered valid and standard will be added and passed along to other nodes.

However, there is no mechanism to guarantee nodes behave the same way. Currently, good will is the only reason to follow this pattern, especially for miners. Miners may decide to include any valid transactions they wish, even if there are duplicates that do exist that are valid. Transactions that do not have sufficient fees during congestion would eventually expire and be removed from the mempool, allowing users to try to send again.

Limit Mempool Size

Mempools can be bounded, such that only the top priority transactions are stored. Low priority transactions are passed on or rejected once the limit is reached or are replaced by higher priority transactions. This prevents nodes from crashing due to being overwhelmed by transactions.

Replace by Fee

In this scenario, transactions that have too low of a fee will not be mined for a long time, if at all. However, being able to send a replacement transaction that sends a higher fee can be done to give an incentive for miners to use that transaction instead. This would allow users to react properly to changing market conditions without having money tied up for a long time.

Child Pays For Parent

Child pays for parent allows transactions to get priority even when the sender fails to attach sufficient funds. The receiver could then append a transaction to the end of it with large fees, such that miners would be encouraged to include both transactions in the next block.

Wallet Improvements

As nodes and miners improve their behavior to better deal with congestion, wallet software could be upgraded to take advantage of these changes. A user could see an incoming unconfirmed transaction that may be stuck, and choose to pay a small fee to have it confirmed faster. A user could increase the fee on his own transaction to ensure it gets confirmed faster. But to assume these changes do not occur is silly.

Crisis Will Force Consensus

We can all debate about what will happen in given scenarios, but an actual crisis will make this a lot easier. Speculating, when there are legitimate trade-offs, will rarely drive consensus. The crisis will not happen overnight and will not escalate all at once, so the risk in doing nothing remains low. However, once it does occur, if it does at all, the holdouts will be far more willing to change.