The Bitcoin Scalability Debate
The Bitcoin scalability debate began as far back as Satoshi Nakamoto its creator disappears. In fact, Satoshi himself mentions the need to improve Bitcoin as long as the network increases its capacity needs. In its whitepaper, Satoshi Nakamoto mentions the need to increase the Block size as the network evolves and demands some kind of technique to streamline the increasing number of transactions.
The notion of a block size increase is actually proposed by its mentor and it is basically the basis of the scalability discussion. The truth is that the whole community knows that a block size increase is rather inevitable and needs to be done in order to stabilize the network as it grows. The only problem is that there doesn’t seem to be much consensus on this subject.
One might ask why does the Network need to scale? The answer is simple. As the vision and adoption of decentralized assets grow, bitcoin is struggling to keep its technological lead and to do that it needs to upgrade. The Bitcoin network’s throughput is only able to support three transactions per second (TPS), which is far below the throughput of current dominant payment systems such as Visa network, that is currently supporting around 2,000 TPS.
The Scaling Debate – Retrospective
The bitcoin scalability problem is due to the fact that blocks are limited to one megabyte in size. Blocks larger than one megabyte are automatically rejected and invalidated by the network. Bitcoin blocks carry the transactions on the bitcoin network since the last block has been created. This allows for around three transactions per second maximum capacity rate. The one-megabyte limit has created a bottleneck in bitcoin, resulting in increased transaction fees and delayed the processing of transactions that cannot be fit into a block. In an attempt to solve this problem, various proposals have come forth on how to scale Bitcoin and a contentious debate has resulted.
It all begins with the first BIP proposal. The first BIP (BIP 0001) was submitted by Amir Taaki on 2011-08-19 and described what a BIP is. BIP stands for Bitcoin Improvement Plan and allows for any developer to give his contribution to the network development and improvement.
Various proposals for scaling bitcoin have been presented since then. In 2015, BIP 100 by Jeff Garzik and BIP 101 by Gavin Andresen were introduced. In mid-2015, some developers were supporting a block size limit to as high as eight megabytes. Bitcoin XT was proposed in 2015 to increase the transaction processing capacity of bitcoin by increasing the block size limit. Bitcoin Classic was proposed in 2016 to increase the transaction processing capacity of bitcoin by increasing the block size limit.
Bitcoin Unlimited advocates for miner flexibility to increase the block size limit and was supported by mining pools Via BTC, AntPool, investor Roger Ver and Bitcoin Unlimited chief scientist Peter Rizun. Bitcoin Unlimited proposal is different from Bitcoin Core in that the block size parameter is not hard-coded, and rather the nodes and miners flag support for the size that they want, using an idea they refer to as ’emergent consensus’.
In 2016 an agreement of some miners and developers called “The Hong Kong Agreement” was made. This agreement stated what later would see both the activation of the Segregated Witness (SegWit) proposal made in December 2015 by Bitcoin Core developers and the development of a block size limit increase to 2 MB (Segwit2x).
Now we have two types of forks; a Hard Fork and a Soft Fork. For those who are not familiar with what a Fork is, let us leave you with a simple definition: A Fork is a new implementation to the old software that may or may not be compatible with the old version. This may result in Soft or Hard Forks:
When a hard fork is implemented, the new version of the software rejects all transactions from the older software. It is also referred to be an upgrade that is not backwards compatible.
These are backwards compatible. In contrast to a hard fork, a soft fork is a change of rules that creates blocks recognized as valid by the old software. A soft fork can also split the network when non-upgraded software creates blocks not considered valid by the new rules. So, if a transaction was to be made on the old software, the new software would be able to recognize and accept the transaction. However, the transactions made under the new software won’t be understood by the old software.
Segregated Witness (SegWit) is an example of a soft fork proposal. Blockstream co-founder and developer Pieter Wuille proposed Segregated Witness in December 2015. Segregated Witness (SegWit) is an update aimed at solving transaction malleability, a known quirk in the Bitcoin software. Segregated Witness is a system by which the signature data is segregated from other transaction data.
Segregated Witness is a modification to the original Bitcoin protocol. In short, SegWit increases transaction throughput by re-weighting the signatures of transaction data to allow more transactions to fit within each block, making it able to support six TPS.
The implementation of Segregated Witness in August 2017 was only the first half of the so-called “New York Agreement” by which SegWit had paved the way to increase block size by a hard fork. The second half involved a hard fork called SegWit2x to be implemented in November 2017 that would increase the block size to 2 megabytes.
Even if Segwit could be used as the door to introduce Segwit2x, it was authored by a people not involved with SegWit2x, and many of them are not SegWit2x supporters.
A major issue of contention is the choice of SegWit2x developers to implement opt-in replay protection, rather than the strong replay protection implemented by the bitcoin cash hard fork. Opt-in replay protection means that the Segwit2x chain will still accept transactions intended for the original chain, in addition, to replay protected transactions only valid on Segwit2x.
On November 8, 2017, the developers of SegWit2x announced that the hard fork planned for around November 16, 2017, has been cancelled for the time being due to a lack of sufficient consensus.
Bitcoin Cash (BCH\BCC)
Bitcoin Cash was born from the hard fork on 1 August 2017. The snapshot was taken on the block 478559 of the Bitcoin blockchain and Bitcoin Cash was born settled in a new chain. Bitcoin holders who owned amounts of Bitcoin (BTC) would be entitled to the same amount of Bitcoin Cash (BCH). Bitcoin Cash increased block size from one megabyte to eight megabytes, without incorporating SegWit. By 2 August 2017, BCH was already in the third highest place in the crypto market capitalization.
Bitcoin Gold (BTG)
Bitcoin Gold is another fork of the Bitcoin blockchain. It was scheduled to take place at block 491407 when Segwit2x was activated. The original Bitcoin blockchain continues unaltered, but a new branch of the blockchain was once again split off from the original chain giving birth to Bitcoin Gold. Much like Bitcoin Cash, the new branch is a distinct blockchain with the same transaction history as Bitcoin up until the fork but then diverges from it. As a result of this process, a new cryptocurrency born.
Other Scaling Proposals
Implementation of the Lightning Network has become feasible after Segwit. The Lightning Network is an in-development project that aims to fix the Bitcoin scalability problem by scaling “off-chain”. It aims to allow for a microchannel state update without any blockchain usage (in the usual non-adversarial case), making micropayments realistic (and fee-less). Lightning Network will require putting a funding transaction on the blockchain to open a channel. As of 16 November 2017, the Lightning Network is in alpha.
The key idea behind Sidechains concept is to be able to send Bitcoin directly to other blockchains. A Sidechain, in simplest terms, is a separate blockchain but is attached to the parent through the use of a two-way pegging system which allows for assets to be reconverted and moved across chains at a fixed deterministic exchange rate.
Right now, it seems that the Bitcoin scalability debate is much like a never-ending story. But this is in fact how the story goes, so ultimately, what we need to understand is that this discussion is part of a “natural evolution process” and a continuous increment to bitcoin development.