Bitcoin Scalability Solutions
While blockchain technology is enabling a multitude of innovation throughout society, there exists a problem in the scalability of this technology.
The scalability problem arises from inherent characteristics of current blockchain design. The size of a block determines how much transactional data can be contained in it.
Take into consideration the average size of a transaction, 600 bytes, and the fact that Bitcoin blocks are 1 MB large. After some math this gives Bitcoin, on average, about 4–7 transactions per second (tps). Even then, 7 is a more optimistic number than reality. Financial services giant, Visa, is able to handle around 47,000 transactions per second.
This limit causes a bottleneck in the network, resulting in greater transactional fees and delayed transactions for users. If bitcoin is truly aiming to be a medium of exchange, this issue will need to be addressed. Following are proposals for improving the tps of Bitcoin.
Bitcoin’s Segwit — Methodical Change
Transactional data in a bitcoin block includes many different inputs. One specifically is the digital signature, or as many people know, the users private key. While this is a essential part of the transaction, it is only needed during the validation period.
Segwit proposes that this signature be taken out of the block and placed into a separate block. This would free up space and result in more transactions per block. According to some maths, this would result in roughly a 70% increase in transactions (done here.)
Opponents of Segwit cite the complexity of the upgrade as one of the main concerns. On top of that, the lack of importance the signature carries when on in a separate blockchain concerns some because this entices nodes to drop the signature altogether, resulting in the need for specialized nodes to store the signature data. Ultimately, this leads to the opposite of the decentralized network envisioned by Satoshi as these nodes would be few and would need to be trusted to hold such important data.
Increasing the Block Size — Structural Change
Nowhere does it say that you cannot implement an increased block size to the bitcoin process. Indeed, there has been a proposal to increase the size to 2 MB from 1 MB. Unlike Segwit, this would require a hard fork of the blockchain.
Since the time it takes to verify a block is based off the difficulty of the mathematical puzzle solved in mining, increasing the block size will increase the amount of transactions per block and transactions per second.
Some downsides/contentions to this solution include:
- increased user fees (larger blocks require more mining resources)
- if mass, worldwide adoption of blockchain occurs, increasing block size is irrelevant in supporting the amount of future transactions
- full nodes become more costly to operate, leading to less individuals with full nodes and an increase in centralized hashing power
Off Chain — The Lightning Network
We are not limited to changing the blockchain in order to tackle the scalability problem. Introducing methods that interact with the main blockchain are feasible as well. Joseph Poon and Tadge Dryja conceptualized the Lightning Network (LN) as a second layer to be built on top of the current bitcoin network.
In essence, the lightning network is a micro-payments system in which the meat of transactions is handled off the main blockchain.
Imagine you’ve made your millions trading cryptocurrencies and now like to spend your time at bars. The lightning network would be akin to opening a tab at one of these bars. Opening your tab is like beginning a transaction. Now, you can transact as many times as you need until you are finished. Once finished, the final, net change from the transactions is broadcast to the main blockchain.
Possible cons to such an upgrade:
- lower fees — this may seem counter-intuitive, but bitcoin is currently sustained by fees paid to miners. Low enough fees pose a threat to the incentive for mining, possibly undermining Bitcoins usability.
- less transparency — since the LN broadcasts the net effect, you will not see “every” transaction, reducing transparency. Five separate charges of .01 may be broadcast as one single charge of .05.