Bitcoin — The Engineering and Philosophy Behind Small Blocks. Part 1 of ?.
The Bitcoin scaling debate has been raging for well over a year now. The battlefield (Twitter) has turned stale and deadlocked. This article is an effort to challenge “big blockers” to articulate their engineering arguments for on-chain scaling. I hope to learn something from critics and “small blockers” alike.
Linear Scaling vs Exponential Adoption
On the most basic level, the idea that linear scaling can keep up with exponential growth and adoption of Bitcoin is so blatantly absurd that I won’t spend much time on it. Simply graph y=x² and y=10x, y=100x, and y=1000x on the same graph. If Bitcoin becomes the internet of value, linear scaling can not keep up with the use cases and growth of adoption.
Do The Hard Work Now
If you accept the argument above, then there is no reason to push short-term scaling now. Doing so has the effect of prematurely allowing growth without the second layer innovations that will allow for exponential growth in uses. On-chain scaling now will delay the need for second layer scaling until the demand is at an even higher level of growth. Then, when we need it most, we will have to decide when it is time to limit on-chain scaling and scramble to develop and implement second layer scaling. It’s never a good time to do the hard work that will allow exponential growth. The best time is always yesterday. Doing this work now — by resisting the easy path of on-chain scaling- gives Bitcoin the greatest chance to meet future demand.
If we decide against off-chain scaling, we are granted the gift of a blockchain that grows with adoption and use cases. In other words, the blockchain will grow exponentially. Ignoring the most basic argument that a world-wide, distributed ledger should not record transactions that don’t need to be secure (basically all consumer purchases), a bloated blockchain is one that cannot be run on a personal computer making the cost of the network increase without bounds. It can also restrict the use of full nodes and mining to areas with fast internet and thus lower latency.
One cost of a bloated blockchain is a negative affect on decentralization. When the Bitcoin blockchain can be run on a high end smartphone, it becomes nearly impossible to suppress the network. Killing Bitcoin becomes a game of whack-a-mole that never ends. Decentralization is one of Bitcoin’s defining features. If you think that authoritarian governments won’t try to restrict Bitcoin, you are fooling yourself. Bitcoin’s dominance is dependent on its ability to resist censorship. Think bitTorrent. Want to guess how bad media companies want to kill torrent downloads? Why have they failed: Decentralization.
Extreme Resistance to Change
While many big block advocates such as Vinny Lingham, Eric Voorhees, and Dr. Emin Gunn Sirer have argued Bitcoin’s resistance to change is a weakness, I believe the opposite. If the ability to rapidly evolve is what is required for Bitcoin to maintain its place in the cryptocurrency space, then we are in trouble. A centrally controlled protocol/coin can *always* evolve faster than one that requires consensus. Bitcoin will fail if its only chance for success is to move fast.
Not changing fast becomes a strength when scaling is pushed to the edge. The companies and protocols that develop around Bitcoin can depend on a secure, steady core that doesn’t demand the surrounding ecosystem to constantly re-engineer their peg to Bitcoin as it changes constantly.
Furthermore, Bitcoin as a rock-solid, secure, stable core just makes better design sense. If you decide to make Bitcoin itself bleeding edge, you have the impossible task of deciding which direction is the “right” direction to evolve in. The truth is there is no one right direction for Bitcoin. Each user group demands different qualities. You can either pick a winner and follow that model or try to please them all. Both solutions are sub-optimal. The first awards Bitcoin to a single vision, the latter makes Bitcoin a swiss army knife of design decisions that lead to complexity. And with complexity you always get reduced security.
Scaling smart requires thinking of the end-game, not just the next 6 months. It also requires thinking of the diverse (essentially infinite) stake holders who currently use Bitcoin and those ofthe future. Since nobody owns the protocol, how can it best serve the world? I have simply never seen a rational argument for on-chain scaling that articulates anything other than “we’re going to get left behind” and “This doesn’t match with Satoshi’s vision”. I invite counter arguments that try to paint a picture that I might not be able to see.