Visa transfers 2,000 transactions per second, whereas Bitcoin transfers 7 transactions per second. If bitcoin wants to establish itself as a currency that can be used daily by 7bn people worldwide it needs to scale up. What can to be done for Bitcoin to scale up its transaction processing volume?
- Do nothing. Since the popularity of Bitcoin is growing, the demand for transactions is growing. Since there is more demand than capacity, and the miners are processing first the transactions which offer a higher transaction fee, the cost of sending money with Bitcoin is going up. Currently an average bitcoin processing fee is 101,700 Satoshis, which is worth 2.5 USD. This means that paying for a cup of coffee with Bitcoin would cost another cup of coffee in payment fees. This also means that the backlog of unprocessed transactions is growing. At the time of writing this there are 507 unconfirmed transactions. At a rate of 7 transactions per second, if no more transactions are received, it will take 2.20 hours to confirm the backlog. Imagine having to wait 2.20 hours for your coffee payment to go through.. doing nothing does not seem like a viable option.
- Increase the block size. By design, Bitcoin generates one block every 10 minutes. This block can fit in as many transactions as possible as long as it’s size is below 1MB. One simple solution would be to increase this 1MB limit to 20MB for example. This would fit many more transactions per block, and the speed at which transactions are processed would increase. Bitcoin Improvement Proposal BIP100 describes this. The problem with this increase is that larger blocks would make full nodes more expensive to operate, which would decrease decentralisation as some nodes would no longer be able to bear the cost. A hard fork would be needed, risking splitting bitcoin in two cryptocurrencies, and all of this would not give a final solution, as the block size would need to increase periodically to support all the world’s future transactions. Off-chain transactions would be the only long-term solution.
- Use each block more efficiently. In December 2015, at the Hong Kong Bitcoin Scaling event, Pieter Wuille introduced the idea of Segregated Witness, a modification to bitcoin which would reduce the amount of information needed for each block. This freed-up space could be used to introduce more transactions per block. The advantage of this approach is that it can be done with a soft fork minimising the risk of splitting bitcoin into two cryptocurrencies.
- Minimise the number of on-chain transactions. Joseph Poon & Thaddeus Dryja wrote in January 2016 the Lightning network whitepaper. This would enable minimising the number of transactions that need to go into the blockchain by adding a layer on top which would create one to one payment channels. These payment channels which would be fully collateralised IOUs between counterparties would form a network with which a payment could be routed. This is similar to the concept that Ripple is using, which in turn is similar to the concept of correspondent banking.
A heated debate has split the Bitcoin community for the last year. Developers, miners, markets and users could not agree on how to solve the problem, as every option had risks.
At the Consensus 2017 Conference an agreement seems to have been found. The option agreed is to implement Segwit with a 2MB block. Although even after this middle ground has been found, heated debate goes on.
Hopefully the bitcoin community will be able to find a way to find consensus, not only in the blockchain, but also in the way to evolve in order to meet the challenges that will be found.