Everyone recognizes that Bitcoin – and blockchain technologies in general – have scalability issues. But what if Bitcoin, by its very design, can only address half the problem?
Imagine an alternate reality. It’s 1996. Larry Page and Sergey Brin are working hard at Stanford to create a better search engine – one that can be used the world over. They create Google, and it quickly becomes one of the most popular search engines in use. But they institute the following requirement: Google’s software can only run on servers owned and operated by volunteers. These volunteers will not be compensated in any way, but they will be able to perform slightly faster searches since they host Google nodes.
As Google’s popularity skyrockets, their network gets bogged down. They constantly work to make their search software more efficient, yet no matter what they do they can’t keep up with the demand. Yet, they cling to their original hardware requirement: the Google network is hosted only on uncompensated, volunteer servers. Eventually the network collapses under the weight of user demand, and AltaVista becomes the global search engine of choice.
Half a Solution
Ridiculous, right? Yet something similar is happening right now in Bitcoin.
Everyone involved in cryptocurrencies is aware of the ongoing Bitcoin Blocksize Debate. It has involved acrimonious accusations, petty politics, and a myriad of proposed technical solutions. At this point the debate has turned into an old-fashioned dogfight, so it’s easy to forget the original problem.
As is well known, Satoshi Nakamoto instituted a 1MB blocksize limit to prevent spam on the network. The cost of sending transactions then was minuscule, so a bad actor could potentially flood the network with thousands of ‘dust’ transactions. As Bitcoin grew and its value went up, blocks began to get larger and larger, creeping towards that 1MB limit, and the reason for that original limit no longer existed. Some in the community – including lead developer Gavin Andresen – argued that the blocksize limit should be increased to alleviate the congestion.
Seems simple enough. However, others raised a legitimate point: if the blocksize limit were increased, blocks would become bigger and bigger, making the data storage requirements for Bitcoin nodes greater and greater. Yet those who run Bitcoin nodes do so on a voluntary basis – there is no financial incentive to host a non-mining node. Thus, many of these volunteers would have to spend more money to host a node, with no financial benefit to doing so. In all likelihood, many of these volunteers would discontinue their nodes. If this were to happen, centralization – the enemy of any decentralized network – could occur, because only those who could afford to voluntarily run beefy servers would host nodes.
Thus began the search for software solutions, including Segregated Witness (‘Segwit’) and the Lightning Network. Segwit essentially decreases the size of transactions, thus allowing more transactions to fit in the 1MB block size. Lightening Network moves transactions off the main blockchain, which clears up blocks by reducing the number of on-chain transactions. Neither of these software solutions have yet to be implemented on the Bitcoin blockchain, so there is no way to know for sure if either are long-term solutions.
But software isn’t the only avenue to fixing scalability issues. As anyone involved in technology will tell you, there are two ways to scale – software and hardware. Programmers tend to see software solutions as more elegant. Throwing hardware at a scalability issue is considered primitive and stop-gap at best. Yet solving scaling issues is often a combination of software and hardware enhancements. Global, high-demand networks (like Bitcoin would like to be) need high-end, redundant servers throughout the world to process all the transactions they handle. A centralized service like Visa can increase its hardware capacity whenever the need arises – it is not limited to software-only solutions.
Yet the fundamental design of Bitcoin doesn’t allow for significant hardware upgrades. In essence, the health of Bitcoin is dependent upon Moore’s Law that hardware will continue to become more powerful. The hope is that the cheapest available servers will always be powerful enough to manage the network. It’s true that the capabilities of servers are always improving. But depending upon Moore’s Law to proportionally keep pace with Bitcoin popularity is a risky bet.
Fully Scalable Solution
So, is there a solution? Or will blockchain technologies always be at the mercy of the lowest common hardware denominator?
Enter incentivized nodes. Instead of depending upon non-compensated nodes to host the network, a cryptocurrency could reward node owners as it does miners. And with those rewards would come minimal requirements. Want to host a node? Great – you’ll get paid a percentage of the block reward. However, you’ll also be required to maintain minimal hardware specifications or risk losing your reward. Incentivized nodes allow for scalable hardware while preventing centralization.
This design already exists in Dash. Dash has a second-tier network of nodes called “Masternodes” that are paid from the block rewards to host the Dash network. But they also must meet minimal hardware requirements. In fact, recently, in anticipation of the upcoming Evolution release, Masternodes were told to upgrade their requirements to the following:
And Masternode owners have already been informed that when Evolution is in production, the requirements will likely increase again. Yet even the anticipated hardware requirements will be affordable to Masternode owners, who currently earn approximately $1,000/month per Masternode at current Dash valuations. Requiring similar upgrades for Bitcoin nodes would likely price out most voluntary Bitcoin node owners.
The reality is that scalability is a real issue in blockchain technology – and it’s one that hasn’t been definitively solved. Bitcoin, in fact, is the only cryptocurrency that has faced real scalability issues. What solutions will work best are still to be determined. But to handicap a cryptocurrency by restricting it to software-only solutions, while ignoring hardware solutions, is a recipe for long-term unresolvable scalability problems.