Why I’m not afraid of the nearing Bitcoin capacity limits
Because we have scaling solutions in the works that allow scaling up to 120 million users with unlimited transactions [1]. That is, if we choose not to increase the size limits with a hard fork, and even more if the size limit is successfully increased.
I’m talking about Lightning Network. I started seeing a lot of FUD about it suddenly, so I got off my lazy ass and did some reading to finally figure out for myself if it could actually work. I’m now convinced that it can and that it won’t take too long to implement and deploy.
Does this mean I think it’ll be in time to prevent capacity limits from being reached? Not necessarily. It might be a little late. Especially if we end up having a large influx of new users through a large rally before that.
“But… won’t the price crash because we run out of capacity?”
Why would it? Think about it. Would you sell if you believe in the long term prospects? I certainly won’t. So what if there’s a few months of high transaction fees and uncertainty about transactions going through? LN will be able to provide a few orders of magnitude more capacity than pure Bitcoin, has instant confirmations, cheap microtransactions and very likely much better privacy aspect as well. In fact, most of that can be had without full LN implementation. So, to avoid the crash, all you need to do is help others understand there’s actually nothing to fear. Hence I’m now writing this text.
“But LN isn’t ready!”
Yes, LN is not completely designed. However, payment channels are. Even without full blown routing, they can be used to eliminate a significant percentage of transactions currently taking place on the blockchain: The transfers between user wallets and the exchanges. Secure use of payment channels is possible after SegWit is activated. It will happen once supermajority of miners are enforcing the new rules.
Currently, I don’t hold my coins on an exchange. They’re more secure in my own wallets. However, with secure payment channels, this will change. The benefit to holding coins on an exchange is the ability to sell them instantly. If I keep my coins in a payment channel between me and the exchange, I can have the control and the ability to sell them immediately, should I want to do that. The effect? No more transaction queue overload just because the price is going nuts.
This also gives you the ability to immediately pay anyone else with a direct channel to the same exchange when the exchange is willing to route the payment. This will reduce blockchain transactions even further and still doesn’t require the implementation of complex routing algorithms. Even Mark Karpeles succeeded in that (Remember? You could transfer money to other Mt.Gox customers).
Edit: It was pointed out to me that you could make instant transactions to anyone who trusts the exchange, but not you. So, a payment channel with an exchange could be all that’s needed for instant payments to any bitcoin accepting merchant.
“But… That’s centralized!”
Yes, well spotted. However, many people are going to use it. Even if you don’t, that means the blockchain is going to have much more space available for your transactions. This alone should give us at least couple of years to figure out the routing problem for a more decentralized LN implementation.
However, we could also get instant bitcoin transfers between exchanges. No, they don’t need to cooperate with each other. It’s enough that they’re willing to route payments between their own customers. Any customer with channels at both exchanges is able to route payments between them and collect fees for the service. The profit motive will make sure this happens. That’s even more transactions removed from the blockchain. Still without the full Lightning Network.
Payment processors, such as BitPay, also have strong incentive to implement payment channels to make sure they’re able to receive instant payments from every significant exchange. It makes business sense to do so. For merchants, support for instant payments is a very important feature. It’ll be much easier to convince new businesses to take Bitcoin payments with LN. It completely eliminates both the unpredictable confirmation delays and the risk of double spends.
I actually find it more difficult to come up with examples of transactions that can’t move to payment channels than examples of transactions that can. Spending of physical bitcoins and moving of coins between payment channels need to be cleared through blockchain. But other than that… well, if you can think of examples, please share them in the comments.
I intend to edit this post in response to constructive replies. So if there’s something I’ve misunderstood, missed or if there are problems with my reasoning, please do point them out. I hope to make this into a comprehensive answer to why there’s no reason to fear the capacity limits anymore.
Finally, I’d like to express my thanks to Joel Lehtonen for proofreading and helping me improve the text.
[1] http://lightning.network/lightning-network.pdf (Scaled the block size and number of users down to 2 megabytes (to approximate SegWit capacity here) from the original 133 megabytes from the numbers presented near the end of the presentation)