Bitcoin Scaling Through Efficiency And Layers: A Big Block Post Mortem Exam



The debate on Bitcoin's limited scalability has been around since the early days. In 2010, Hal Finney affirmed that "Bitcoin itself can't scale to have every single transaction in the world be broadcast to everyone and included in the blockchain". With this statement, a relentless quest to improve Bitcoin's transaction throughput had begun.


Throughout the years, developers have researched multiple approaches to scaling. Some of the most notable include Blockstream's sidechain proposal, extension blocks, the Lightning Network, and big block proposals like Bitcoin XT, Classic, and Unlimited. It has taken a long time to mitigate the centralization trade-off. Until the emergence of Lightning and sidechains, every proposal had the downside of centralizing validation of the core Bitcoin protocol.


Around 2014, two distinct schools of thought emerged: one sought to build new and more scalable networks on top of the base layer; the other one aimed to increase the block size in spite of the centralization risk. The former would leave Bitcoin's block size untouched and focus on base layer optimization, alongside complementary tools. The latter was more conservative and relied on a precedent set by Satoshi Nakamoto himself. The Bitcoin creator had previously increased the block size from 500kb to 1MB. But in 2010, the 1MB limit was explicit and Satoshi rejected an increase proposal.


Since at least 2015, the Bitcoin scaling debate was the most hotly contested topic among community members. In the beginning, the focus was on big blockers. Led by influential developers like Gavin Andresen and Mike Hearn, this camp advocated for a block size increase at all costs. This approach seemed (at least for a time) to garner widespread support as the only practical solution.


In the end, a block size increase was not to be, as tides shifted and alternatives grew in popularity. SegWit, the Lightning Network, and the Liquid sidechain have made big blocks redundant. Through them, Bitcoin's base layer remained decentralized and accessible. This article presents how and why Bitcoin still scales with small blocks.


Big Blocks and Why They Don't Work


For several years, developers believed that increasing the block size was the only simple and feasible way to scale Bitcoin. Bigger blocks would quite simply allow for more transaction throughput by increasing the amount of data the network would allow in each 10 minute block. With that said, this solution would inherently create more centralization, as maintaining a record of all transactions for a population of 8 billion people would require incredible amounts of bandwidth and storage, while also presenting issues with latency.


Unless all users can validate their own transactions with an affordable full node if they choose to do so, there is no point in trying to replace centralized payment solutions like Visa and PayPal. Furthermore, coercing all network participants into a non-compatible hard fork goes against the ethos of Bitcoin. Users running old software want to be sure they will remain compatible with any updates to the network.


A History Of Diverging From Consensus


Many from the big block camp were not swayed by the aforementioned issues. In 2014, former Core developer Mike Hearn created a big block implementation called Bitcoin XT, after which Bitcoin Classic and Bitcoin Unlimited emerged as spiritual successors. In the end, all of them failed. Today, Unlimited is the only one whose developers are still active today, as the code had been merged into Bitcoin Cash.


In August 2017, a major schism took place through the creation of a forked network named Bitcoin Cash. The altcoin was initially an anti-SegWit political statement. Its main proponents were mining pool Bitmain and long-time advocate Roger Ver. Later in the year, after it became clear that yet another big-block attempt, the SegWit2X project, had failed, BCH became the only refuge of big blockers.


Compared to the original Bitcoin network, Bitcoin Cash had 8MB blocks, a greater reliance on "light" SPV wallets (that trust somebody else's full node), and a wider acceptance of zero-confirmation transactions. While to a layman these features appeared quite positive, under the hood they served to compromise both decentralization and security. Despite many BCH advocates, zero-confirmation transactions are insecure no matter how you slice it. Now, with only a fraction of the hashrate of Bitcoin itself, Bitcoin Cash transactions only have a fraction of the security and finality of Bitcoin.


The main promise of BCH was that it would bring adoption via commerce. Bitcoin investor Roger Ver continues to convince many businesses to accept BCH as a means of payment. In practice, however, it appears that the “if you accept it, they will spend” mentality has bore little fruit.


Almost 3 years after the split, the size of the BCH blockchain is 146 GB, with an average block size that's smaller than 1 MB. With a few notable exceptions, the Bitcoin Cash blocks are typically a fraction of the size of Bitcoin’s (even though they have the capacity for 32MB at this point). In comparison, Bitcoin's blockchain size is north of 270 GB at the time of writing. The fact that BTC nodes store nearly twice as much data is due to the greater demand for block space. While BCH might theoretically handle lots of transactions, it rarely ever does because most people just aren’t interested in using it.


Bitcoin Cash was only truly perceived as a threat to the Bitcoin project for a few months. Its minority chain status became quite clear in the first months of 2018. Miners did not move to secure the BCH chain in the expected numbers, and the largest majority of users kept using Bitcoin. With dismal hashrate, nodes, and users, Bitcoin Cash has largely failed its goal of proving itself to be the “real” Bitcoin in any discernible scientific metric.


In the fall of 2018, Bitcoin Cash would also further split into BCHABC and BCHSV. This division between big blockers proved to be fatal to their ambitions. By that time, the Lightning Network was gaining traction and proving itself to users. When big blockers became further divided, it sealed the demise (or at least continued decline) of their respective networks.


The Hard Thing About Hard Forks


Why is increasing the Bitcoin block size such a terrible idea? On one hand, it requires a hard fork - a non compatible change of the consensus rules. Full nodes and miners would have to abandon the old software client and move to another one. If there is opposition to this transition, then unsupported minority chains emerge. This is a common issue that more centralized projects like Monero face. In the case of the Bitcoin network, decentralization and backwards compatibility are extremely important. This fact alone was enough to dash the misguided ambitions of BitcoinXT, Bitcoin Classic, Bitcoin Unlimited, Bitcoin Cash/Bitcoin SV, and Segwit2X.


Furthermore, increasing the block size affects the developing fee market. As mining rewards decrease every 4 years via the halving, miners still need to remain profitable. In this regard, collecting fees is the extra incentive to keep on securing the Bitcoin network. As the block reward diminishes in the coming decades, a healthy fee market will be required to incentivize miners to continue securing the network. Big block chains like BCH and BSV don't offer attractive fees to miners. This is a symptom of excess block space alongside anemic demand. At this point, it can be argued that mining a big block fork of Bitcoin is an ideological choice rather than an economically sound one.


Bitcoin Scales With Small Blocks


In an interest to preserve base layer integrity and accessibility, Bitcoin’s developers have sought alternative solutions to scaling. Over the years, proposals for sidechains, extension blocks, and secondary layers have been extensively reviewed, discussed, and in some cases - rolled out on mainnet.


With that said, the big game changer during the scaling debate was SegWit. Conceived by Greg Maxwell and Matt Corallo, suggested as a soft fork by Luke Dashjr, and developed by Pieter Wuille, the improvement demonstrated that Bitcoin can scale without a hard fork to increase block size.


The SegWit proposal was so popular that the largest majority of Bitcoin developers have supported it. Even businesses and exchanges like Coinbase and Blockchain.info would eventually drop support for SegWit2X (the bundled big-block alternative) to favor SegWit exclusively.


Initially dismissed by big blockers like Jeff Garzik and Mike Hearn as not being good enough to scale Bitcoin, the SegWit proposal went on to make a historic statement. Through the UASF (User-Activated Soft Fork) movement, individual node operators took a stand and successfully proved that they are more powerful than mining pools.


The otherwise political Bitcoin scaling debate ended on a high note which sung the network's decentralization. By August 1st 2017, SegWit was activated by a significant number of individual users and businesses. This was a hard blow for large miners that opposed the soft fork and were much more in favor of a big block version of Bitcoin.


SegWit also led the way to other significant soft fork improvements. Taproot, MAST, Schnorr, and the Lightning Network are only a handful of such examples. Existing and upcoming scalability solutions owe their support and emergence to SegWit.


A big block Bitcoin would have never allowed the Lightning Network to develop. Likewise, developers wouldn't have been pushed to work on ways to make transactions smaller. Right now, Bitcoin's focus is on efficiency: instead of increasing the block size to process more transactions, the blocks themselves are being optimized and transaction outputs are getting smaller.


It can be rightfully argued that SegWit did effectively increase the block size. Since august 2017, there have been a few instances of 2MB blocks in times of high demand. Yet the fact that it could be activated without splitting the network was revolutionary. Even today, users who don't want to use SegWit can run an older Bitcoin client and still be in sync with the rest of the network. Alternatively, in the case of a hard fork you either follow leadership or get left behind on a minority chain.


With small blocks and SegWit, Bitcoin has made a statement for strengthening through ossification. The blockchain will not be hard forked to include each upgrade. Instead, improvements are optional via soft forks. Second layers and sidechains can be built on top of this robust base. There is no need to create any more altcoins, as most features can (and most likely will) be added to Bitcoin through these mechanisms.


Currently, the Lightning Network can handle millions of transactions per second without compromising Bitcoin's base layer security. Likewise, the Liquid Network helps exchanges and big traders settle their trades more privately and at lower costs. Both of these scaling solutions reduce the demand for main chain block space. This means that regular users can make basic on-chain transactions faster and at lower costs. If there is a need for instant confirmations, users can migrate to Lightning or Liquid at any time.


The future of Bitcoin is decentralized. At the cost of storing 270+ GB of data and keeping a computer on and connected to the internet, anyone can run a full node to validate the entire history of transactions. There is a secondary layer for microtransactions, a sidechain for confidentiality/expedited exchange-to-exchange transfers, and a secure and reliable base layer which offers great incentives for miners.


At this point, Bitcoin's potential is only limited by the ingenuity of developers. Anything can be built and added as a second layer or sidechain of Bitcoin, while also taking advantage of its powerful network security and hard money properties. The fact that all of this can be accomplished without compromising on the self-sovereignty that small blocks enable is, quite frankly, astounding.




If you have any feedback on this or any other topic, please feel free to reach out to us at any time at feedback@btse.com or @BTSEcom on Twitter. We always love to hear from our amazing BTSE community.

Categories

Company

Community

© 2019-2020 BTSE.com All rights reserved