Does Bitcoin have a scalability problem
Yes, she is. It has not been resolved before, and the situation worsens over time.
Bitcoin runs on software that was created by a programmer or a group of programmers operating under the pseudonym Satoshi Nakamoto in 2007-2009. Despite the many improvements that developers have made throughout the existence of Bitcoin, the main code has remained the same as eight years ago.
The problem is that now the world of bitcoin is significantly different from what it was at the dawn of the development of cryptocurrency. The number of users has grown from several dozen people to several tens of millions.
The growth of the user base is predictably accompanied by an increase in the number of transactions, of which there are now hundreds of thousands per day. The unpleasant reality is that the bitcoin network in its current state cannot process all transactions quickly enough.
Why is Bitcoin unable to process all transactions
The problem is a certain parameter called the “block size limit”.
First, we will make a very quick introduction to the basics of bitcoin for those who do not know this. All transactions that have ever occurred on the Bitcoin network are recorded in a publicly accessible and tamper-resistant registry called the “blockchain”.
As the name implies, blockchain is a sequence of blocks. Each block, in turn, is a cryptographically sealed set of all transactions that have gone through the network over the past ten minutes. Each new block is added to the end of the blockchain, and each user can verify that the specified transaction really took place.
In 2010, Satoshi Nakamoto limited the block size to one megabyte, which means that blocks larger than one megabyte will be automatically rejected by the network as invalid. This is a security measure that should prevent DDoS attacks from hackers creating large and even unlimited block sizes to paralyze the network.
However, this solution has an unfavorable long-term effect on the throughput of the network as a whole.
Each transaction contains important data: sender, recipient, the number of transmitted bitcoins and so on. Data occupies a place that can be called insignificant when it comes to a single transaction. But it takes a lot of space, as hundreds of transactions per second are being made.
The current block size limit of one megabyte correctly processes from three to seven bitcoin transactions per second. The problem is that this is not enough for the network, and the number of users continues to grow, which worsens the situation.
What does an inefficient block size limit lead to
In general, the Bitcoin network is able to work in everyday mode. However, sometimes the load becomes peak and the process becomes more difficult. Many users have reported that they have to wait hours and even days to process their transactions.
Moreover, the speed with which Bitcoin miners process a transaction depends on the size of the commissions sent by the sender of each transaction. This creates a transaction market: in order to process the transaction faster, you need to attach a larger commission than that of competitors.
In the early years of the network, commissions were measured in hundredths of a cent. Today, if you want to send coins faster, you need to pay a few cents or even dollars.
Does the scaling problem have a solution
Many ways to solve the problem have been proposed, but none of them have been implemented to date.
The problem of scaling has been investigated for a long time. The first two major suggestions for fixing it are contained in BIP 100 and BIP 101, where BIP stands for “Bitcoin Improvement Proposal”. They were introduced in 2015 by Bitcoin core developers Jeff Garzik and Gavin Andresen, respectively.
Both proposals mention an increase in the block size limit, and both of these solutions are hard forks, that is, if they are implemented, older versions of Bitcoin software will be incompatible with the new network. The difference between them is that the BIP 100 offers to adjust the block size depending on the decision of the miners, while the BIP 101 is a direct one-time increase from one to eight megabytes.
As for which proposal to accept, there has been heated debate in the Bitcoin community throughout 2015. However, they were fruitless. Neither BIP 100 nor BIP 101 have been implemented to date.
It was calculated that if the block size limit is increased to the limits sufficient for world needs, then the blockchain size will increase to at least several petabytes.
This will lead to increased centralization of bitcoin: only large companies will be able to provide enough space for data, processing power and network bandwidth, and the nodes of small operators will be discarded. This contradicts the basic idea of bitcoin as money that is controlled by users.
How does SegWit offer to scale bitcoin
SegWit increases the capacity of the blocks without having to resize them. SegWit does not deal with the block size limit at all. It was originally designed to address a completely different issue related to transaction flexibility. In short, SegWit was about to push non-critical transaction data beyond the blockchain.
Deleting data reduces the size of each transaction, so more transactions are placed in a block of the same size. This can lead to an approximately 60-70 percent increase in network bandwidth, in other words, to solve the problem for a short time.
However, more importantly, the elimination of transactional flexibility makes the Bitcoin network secure enough to allow it to build various solutions outside the blockchain, such as the Lightning Network. This will make online transactions much faster and cheaper than ever.
Why is SegWit not implemented
SegWit also has decentralization issues. By itself, it increases the capacity of the unit by about 60%, which is enough only for a short-term solution to the problem. He relies on increasing network bandwidth through sidechains and the Lightning Network, which is centralization.
The Lightning Network can be built as a settlement system operating on top of the blockchain. Bitcoins of various users are deposited on a separate payment channel, which requires 10 or more minutes to confirm, depending on the degree of network load. After that, all transactions in the payment channel are transferred outside the blockchain, where they are processed quickly and very cheaply or free of charge, if there is a trusted third party.
At this point, all participants in the payment channel agree to the final distribution of bitcoins, transferring the updated balance back to the blockchain, thus allowing the bitcoin network to confirm the validity of all transactions.
The problem is that for many participants in the cryptocurrency community, there is no real difference between a “mutual settlement system of transactions created without a central authority” and centralized banks, which Bitcoin was called upon to replace.
Hong Kong Agreement
There is a third way that could potentially be the most profitable for the network. The increase in block size and the implementation of SegWit do not contradict each other, and there is growing confidence in the community that a compromise is needed between these two solutions.
In fact, a compromise agreement has already been reached at least once. This is a round table that was held in February 2016 in Hong Kong with the participation of representatives of Bitcoin Core, which are the authors of SegWit, and some large mining companies interested in unlimited increase in the size of the block. Both sides are striving to reach an agreement – to advance in the implementation of SegWit and temporarily increase the block size to two megabytes.
Unfortunately, the Hong Kong agreement was not implemented: the Bitcoin Core developers did not fix in the project that before the implementation of SegWit the block size would be increased, so the miners refused to accept it.