We’ve previously discussed my personal view on the three bottlenecks surrounding cryptocurrency, mainly bitcoin:
This fourth and final part will go deeper into what the community considers to be the most challenging endeavour for Bitcoin and the blockchain.
Scalability: The Fourth Bottleneck
The discussion around bitcoin currently is mainly about (a) how to scale the blockchain, (b) how to make blocks smaller and (c) how to make transactions faster. This is in fact the most debated issue amongst community experts. My own view splits scalability improvement into 3 categories:
Before we dive into each point, one must first understand how networks work and interact. It’s definitely a quite complex subject (of which I’m no expert), that requires constant monetarization and testing. What we really need to focus on is to try understanding how blockchain developers and bitcoin community members may improve the network, in order to make it faster without compromising security and resilience.
How does innovation happen at the blockchain level?
The blockchain is a dumb network, much like most distributed ledgers. This means innovation happens at the edges (so at the users level) and not at the center (usually promoted by the company that “owns” the network).
Think of Facebook. If you’re a developer and thought of a really nice improvement to their code, which would allow for way faster communication between users, could you just submit it as an improvement proposal? Maybe, but the likelihood of being accepted by the network owner, Facebook, would be quite limited. On the other hand, if Facebook was just a dumb network, it would mean that users could submit updates and the overall community would agree upon which to implement (like BIPs). It’s of the upmost importance to grasp this difference, as all scalability solutions I mention below follow the second open-source approach:
- Increasing the Blocksize (BCH);
- Removing Transaction Data (Segwit);
- Accepting Off-chain layer solutions (LN).
Solution A: Increasing the blockchain’s blocksize
This proposal has probably been the most discussed since bitcoin came to existence. It seems obvious why: the fastest way to increase transaction output is to increase the block size. It means each block would incorporate more transactions. For example, this was the approach taken by Bitcoin Cash (BCH).
- The good: with increased block size, each block would contain more transactions, hence increasing throughput, meaning faster transaction times.
- The bad: with increased bock size comes increased space requirements. So if you happen to have the entire blockchain on your machine, the space needed to store it would increase. Full nodes would definitely be way more expensive to own and operate!
Fees could also increase in the long-run, as miners would need an extra incentive to produce each block. Now imagine how high they can go assuming:
- The reward for each block continues to decrease;
- The heavier each block gets the more fees users need to pay to compensate miners for the extra transactions added and for the spacing requirements.
Solution B: Removing transaction data
If you can’t bring Mohammed to the mountain, you bring the mountain to Mohammed.
That’s exactly what this solution does: instead of adding to the block size, like previously explained, what Segregated Witnessing (or SegWit) does is to take out transaction data information from each block, meaning each block will fit more transactions as each transaction has less data.
Essentially new storage space is created in Bitcoin’s blocks, which is not subject to the 1MB size limit but rather a separate 0.7MB limit as witness data, or transaction information about inputs and outputs, is moved to this new storage space.
Are miners supporting segwit?
As you can see, the majority hasn’t still adopted Segwit, as it’s quite a new technology and due to the many issues faced by the SegWit2x team.
- The good: the obvious advantage of segwit is how it can enable faster transactions among peers. It also enables lightning transactions (discussed below).
- The bad: there are two different problems, in my personal view, with segwit being widely used. (1) The fact that witness data is removed from the transaction means the transaction is less secure. By definition, if you have less information on your piece of data, it becomes easier to crack. (2) It becomes more expensive to run a full-node, as more transactions can fit into a block.
I personally share Andrea’s view on the matter, as it becomes obvious segwit implementation was a step needed, at least in order to implement the lighting network. There’s a really nice cost/benefit analysis here.
Solution C: Accepting Off-chain layer solutions
The Linghting Network (or LN), has been regarded as the holy grail of layer two solutions for Bitcoin. The LN incorporates an off-chain ledger, meaning, transactions can be sent between peers, not on the blockchain itself, but on a second off-chain layer.
This is: settlements between addresses get updated on the blockchain, while the rest of the transactions stays on the LN layer.
Right, but has it been widely adopted?
Although LN is still on the testnet only, some adventurous folk have already started to use it for delicious payments.
- The good: transactions happen incredibly faster and there isn’t the risk to clog the network. It seems the LN is the main door to B2B and B2C payments, as it will allow for off-chain peer transactions.
- The bad: the LN may decrease transparency, as not all transactions get to the blockchain, only final transactions (account balances), and it mandates that users have money on channels to keep them open between hubs.
Many people say bitcoin’s problems will be fixed by Segregated Witnessing and the Lightning Network being implemented, but I do have my doubts. Not that I do not think for a second both technologies won’t improve bitcoin’s transaction times. But, alone, they won’t be enough to get bitcoin where we need it to be (closer to visa and paypal transaction times).
Why do you think Segwit and the LN won’t fix bitcoin scalability issues?
For starters it’s still too early to discuss mass adoption. For example, SegWit has been implemented since August 2017, but hasn’t been adopted worldwide. In the case of the LN the issue is a bit different as the technology itself might not work as expected.
More importantly, what can we learn from history?
The internet could not scale, because the intranet was too slow for pictures; afterwards, the internet could not scale because the intranet was too slow for video files; finally, the internet couldn’t scale because there was no way infrastructure would support dealing with the amount of data, required by millions of people across the globe.
Conclusion: the scalability problem isn’t really a problem. Bitcoin could scale already, by sacrificing the distributed nature of the blockchain, although that would defeat its purpose.
The next time you consider investing in the upcoming Bitcoin killer app, ask yourself:
Can you identify any cryptocurrency with a similar adoption to bitcoin and not the same scalability problems?
Be patient. Use the force. Think.
Featured image from Shutterstock.