‘Why is My Bitcoin Transaction Taking So Long?’ Here’s Why My Bitcoin wallet has recently taken longer and longer to receive a Bitcoin payment. This wasn’t happening 2-3 months ago. Maybe you haven’t noticed it, but I know I have. My Bitcoin wallet has recently taken longer and longer to receive a Bitcoin payment, have […]
Bitcoin Scaling Problem, Explained
- 1. Does Bitcoin have a scaling problem?
- Two. Why is Bitcoin incapable to cope with all the transactions?
- Trio. What are the results of the insufficient block size limit?
- Four. Is there a solution to the scaling problem?
- Five. How do BU and SegWit propose to scale Bitcoin up?
- 6. Why hasn’t BU been implemented so far?
- 7. Why hasn’t SegWit?
- 8. Is this crisis going to be resolved soon?
- 9. What if nobody backs down and the stalemate persists?
Yes, it does. It has been unresolved for a while and is getting worse with time.
Bitcoin runs on the software created by a programmer or a group of programmers known as Satoshi Nakamoto back in 2007-09. Despite the many improvements, which have been made by contributing developers over the course of Bitcoin’s existence, the code base is still pretty similar to what it was eight years ago and some of the limitations are still there.
The problem is, the current landscape of the Bitcoin ecosystem is very different from what it used to be back at the inception of the cryptocurrency. The number of people involved has grown from a few dozens of sultry enthusiasts to over ten mln of everyday users.
The growing user base is naturally accompanied by a permanently enlargening number of daily transactions, which are now counted by the hundreds of thousands. The unfortunate reality is that the Bitcoin network, in its current state, is incapable to process all those transactions swift enough.
The problem lies in a specific parameter called the “block size limit.” The current limit is insufficient for the ever-growing transaction power.
Very first, a very quick and basic introduction to how Bitcoin works for those who don’t know. All the transactions that have ever taken place in the Bitcoin network or will ever take place, are recorded on a public and immutable ledger called “The Blockchain.”
As goes after from its name, the Blockchain is a sequence of blocks. Each block, in turn, is a cryptographically sealed collection of all transactions which have happened in the network over the past ten minutes. Every fresh block is permanently added to the end of the Blockchain so that every user can always check that each specific transaction has indeed taken place.
Back in 2010, Nakamoto introduced a block size limit of 1mb, meaning that blocks over the size of one megabyte would be automatically rejected by the network as invalid. This was a security measure, designed to prevent potential DoS attacks by hackers creating blocks of meaty, or even infinite size and broadcasting them across the network in order to paralyze it.
That decision, however, has had an adverse long-term effect on the transaction capacity of the network.
Each transaction consists of significant data: the sender, the recipient, the amount of Bitcoins in transfer, etc. That data takes some space, which is fairly insignificant when talking about a single transaction. But it adds up when there are hundreds of transactions taking place every minute.
The current size limit of one megabyte per block can realistically support three to seven Bitcoin transactions per 2nd. The problem here is that for the network of the current proportions that is already not enough. And it’s only getting worse as the user base keeps growing.
The increase in average transaction times and fees. Basically, Bitcoin is step by step turning into a functional analog of wire transfers.
On a regular day, the Bitcoin network is still able to operate normally. However, sometimes it manages to reach peak fountains and that’s when things get rough. Many users have been reporting wait times of several hours or even days on their transactions.
Moreover, the speed at which Bitcoin miners are likely to process any particular transaction depends directly on the size of the miners’ fee, set by the sender for every transaction. This creates a market of transaction fees: in order to have their transfers processed quicker, the users have to challenge with each other by setting ever enhancing fees.
In the early days, the commissions were measured in mere fractions of a cent. Today, however, if you want to send the coins prompt, you will have to pay a fee worth several cents or even dollars.
Both the transaction times and the fee sizes have been little by little enhancing for the past several months, making Bitcoin look more like a functional counterpart to bank transfers. That is an existential threat to the cryptocurrency: if we have a more popular and widespread alternative to Bitcoin, why even use it at all?
There have been many proposed ways to solve it, none of which have been realized as of today.
The scaling problem has been under scrutiny for fairly a while. Arguably, the very first two serious attempts at fixing it were BIP one hundred and BIP 101, where BIP stands for Bitcoin Improvement Proposal. They were introduced in two thousand fifteen by the Bitcoin core developers Jeff Garzik and Gavin Andresen respectively.
Both were aimed at enhancing the block size limit and both were hard-fork solutions, meaning that if they got implemented, older versions of Bitcoin software would become incompatible with the fresh network. The difference inbetween them was that BIP one hundred was about making the block size limit adjustable by the decision of miners, whereas BIP one hundred one was a straightforward one-time increase from 1mb to 8mb.
In regards to which proposal should be implemented, there were heated debates via the Bitcoin community for the most part of 2015. Still, it proved fruitless. Neither BIP one hundred nor BIP one hundred one have been realized in any noticeable way in the network today.
History seems to repeat itself and today there are again two different solutions rivaling for approval by the community: Bitcoin Unlimited and SegWit. The problem of Bitcoin’s insufficient capacity is now much more critical than it used to be back in 2015, and still, there is no clear leader in the heated, very politicized competition inbetween the two proposals.
Bitcoin Unlimited aims to eliminate the block size limit altogether, thereby permitting the miners to reach a consensus on their own. SegWit offers a moderate increase of the block size to up to four megabytes moving some non-critical data out of the blocks.
Bitcoin Unlimited is a direct evolution of the previous unsuccessful attempts to resolve the block size debate. Eyeing how the ideas of enlargening the limit, or making it incrementally adjustable, have failed to garner enough support, BU is aimed at abolishing the limit altogether. Instead, it makes it so that miners can create blocks of arbitrary sizes and broadcast them across the network, challenging with each other for a place on the Blockchain.
SegWit offers another solution. It was originally created to fix an unrelated issue – transaction malleability. To put it shortly, getting rid of transaction malleability required moving some non-critical data, called “witness data”, out of transactions and off the Blockchain.
This permits for an increase in the block sizes of up to 4MB, albeit most experts close to the development process say that the network is most likely to lodge at about 2MB block sizes after SegWit is launched.
There is also another way SegWit could increase transaction capacity, albeit not directly. Fixing the transaction malleability makes the Bitcoin network secure enough to build off-the-Blockchain solutions on top of it, such as the Lightning Network, for example. That could make Bitcoin transactions much cheaper and swifter than ever before.
It faces major opposition, the main argument is that BU would make Bitcoin more centralized.
Some people expect the abolition of the block size limit proposed by the Bitcoin Unlimited to lead to uncontrolled Blockchain bloat. Presently, the size of the entire Blockchain exceeds one hundred gigabytes and that’s with three to seven transactions per 2nd. Compare that with Visa’s limit of 24,000 transactions per 2nd and you will understand what’s the problem here.
It has been calculated that if the block size limit would be enlargened to the point sufficient for a global audience, the Blockchain could grow to several petabytes, if not more.
That would lead to enhanced centralization of Bitcoin; only big companies would be able to afford the storage space, computing power and bandwidth necessary to process such gigantic amounts of data, phasing small-scale knot operators out of the network. That runs contrary to the very idea of Bitcoin as the money governed by each of its users.
Same as above, mostly.
SegWit isn’t a ideally decentralized solution either. On its own, it increases the block capacity to around two megabytes in the brief run, and up to four megabytes overall. Depending on the future speed of the network growth, it may be enough for several years or even decades.
However, sooner or later, the limit will be reached again, and the capacity will have to be enlargened. SegWit’s long-term value lies in fixing the transaction malleability bug. That makes it possible to increase the network’s throughput by running sidechain solutions like the Lightning Network and that is the centralization.
Lightning Network can be harshly described as a mutual settlement system built on top of the Blockchain. Very first, the Bitcoins of numerous users are deposited onto a separate payment channel via a regular Bitcoin transaction, which takes about ten minutes to confirm, or more, depending on the network congestion. After that, all payments inwards that payment channel are conducted off the Blockchain and are processed instantly and very cheaply, or for free – by a trusted third party.
The moment all the members of a payment channel agree on the final distribution of Bitcoins, they can send the net balance back onto the Blockchain, thereby letting the Bitcoin network confirm the validity of all transactions.
The problem here is that for many members of the cryptocurrency community, there is no real distinction inbetween “a mutual settlement system maintained by a trusted third party” and banks, which are central points of authority that Bitcoin was supposed to make obsolete.
Bitcoin is becoming less usable every day – for an ecosystem worth more than $17 bln, that is not a situation which can proceed for very long. It has to be resolved soon, one way or another.
Both sides of the SegWit vs. BU confrontation have arguments which describe the other solution as seemingly irreconcilable with the core values of Bitcoin.
The conflict has not only technological but also a political basis. Both factions are claiming that the other one is attempting to prevent Bitcoin’s growth or take it under control. There are also theories around that insist the opposite side is waging an information war, secretly funded by big money (Blockstream for SegWit and Roger Ver for BU). Naturally, both sides would have you believe that their story is the ‘truest’ one.
Looking at the hard numbers, the entire situation seems to have ground to a stalemate. The final decision will be made by the majority of the miners of the Bitcoin network. At the moment the distribution of their support indicates no clear leader. SegWit looks like the dearest in the race but Bitcoin Unlimited has managed to take over several times in the past.
At the moment, there is a large portion of the network – a little under fifty percent – which hasn’t voiced explicit support for either of the proposals. It is possible that the final outlook will come down to them taking a side. However, they may remain silent until the contesting solutions resolve their dispute.
If no side takes a decisive lead, there is a possibility of reaching a compromise.
There is a third way, which isn’t unlikely and which may potentially be the most beneficial to the network. A block size limit increase and implementation of SegWit are not mutually off the hook by default, and there is a growing sentiment in the community that a compromise inbetween the two solutions might be a way to go.
In fact, an agreement to compromise has already been reached, at least once. There was a roundtable held in February two thousand sixteen in Hong Kong with representatives of Bitcoin Core, the authors of SegWit, and several major mining companies, most of whom dreamed an enlargened block size. Both sides seemed to have reached an agreement – to stir forward with SegWit, and implement a modest increase to the block size limit, 2mb, at the same time.
Unluckily, the Hong Kong agreement has not been followed through with – the Bitcoin Core devs have not added a block size increase to the latest version of SegWit, and the miners have consequently refused to adopt it.
But practice has shown that a consensus inbetween the conflicting sides is possible and there is a solution which could sate everyone. There is still hope that political confrontation will give way to cooperation, and we will see Bitcoin grow more powerful than ever before.
UPDATE: this article was updated to correct an erroneous statement that SegWit did not increase the block size limit directly.