Image done by Annie Peterson
Prepare for Disappointment. Blockchain is not scalable.
By David Hao
In the world of crypto, where the smart money goes, the dumb money follows.
This has been on full display in 2017, a year which has seen an explosion in cryptocurrency investment. The total market capitalization for all cryptocurrency has rocketed past US$460B as of December 2017, when little over a year ago it stood at US$13.5B . That is an annual appreciation of more than 1,825%, a value utterly unimaginable to holders of traditional investments such as stocks, bonds and gold.
What Goes Up…
Of course, with growth of this magnitude comes the cries of doomsayers. Bitcoin, and more broadly, the entire cryptocurrency market, has been described by many as the largest bubble of our generation. Among those with a sharply pessimistic view of crypto include JPMorgan Chase’s CEO Jaime Dimon, who publicly called Bitcoin a “fraud”, and legendary investor Warren Buffet, who described Bitcoin as a “real bubble” and a “mirage .” Since Buffet’s warning in 2013, Bitcoin has appreciated by more than 74-fold .
…Must Come Down
This time, however, the doomsayers are likely to be correct. Since growth first accelerated sharply around May 2017, the cryptocurrency market has devolved into little more than a lawless casino, characterized by greed and irrational market reactions. After Bitcoin’s Segwit2x hard fork (a long-standing proposal to change Bitcoin’s infrastructure to increase transactional efficiency) was officially cancelled on November 8, 2017, the price of Bitcoin immediately shot up to a record high of US$7,900, a seemingly bullish reaction from the market. Over the course of the next three days, however, Bitcoin sharply dropped by over 20% to a low $5,800 over consideration of the same news, as if investors who snapped up more Bitcoin in a knee-jerk reaction gradually realized the Segwit2x cancellation was actually bad news.
These waves of irrational market behavior go to show that investors do not fundamentally understand blockchain. The majority of speculation is fueled by a bet on visions of a decentralized future, in which blockchain tech has a role in nearly every aspect of our lives, including banking, commercial transactions, data storage, politics and more. This is especially true in the initial coin offering (ICO) space, where thousands of whitepapers describing various grandiose use cases have flooded the market, successfully fishing billions of hapless investment dollars. Unfortunately, most of these projects (and with them, investment dollars) are doomed. This is because blockchain technology, as it stands, is not scalable.
Why Isn’t Blockchain Scalable?
What exactly is meant by scalability? Within the context of blockchain ambitions, scalability refers to whether a blockchain can support the volume of users or transactions required for it be useful to all participants. For many use cases of blockchain like Bitcoin, this scale is often national or global in nature. However, this presents a problem, as efficiency and size of a blockchain are inversely related. Since the value of most blockchains is directly derived from their networks effects, practical efficiency of the blockchain and ability to support a high volume of users stand directly at odds of one another.
From a technical standpoint, the reason why blockchains scale poorly is because every fully participating node in the network (each computer connected to the blockchain is a node) must process every transaction. This is the only way to ensure every node shares one copy of the truth. This property of consensus computation provides some extremely useful advantages that give blockchain its defining characteristics, such as fault tolerance, security, and immutability, but it also comes at the cost of scalability. Imagine if a group of people were reading the same book, but none of them could proceed to the next page until every single person was done the current page. In fact, the setup that maximizes the transaction processing rate is when there is only a single node in the network — effectively, a centralized network. By nature, each additional node added to a blockchain network increases its inter-node latency (time between transactions) logarithmically, weakening the entire blockchain as it gets larger.
Normally, in a centralized system, this problem would be solved by adding more computing power (for example, upgrading or buying additional servers) to our central network. However, blockchain’s decentralized nature means there is no control over the computing power of each participating node. Furthermore, as the blockchain gets larger and requires greater amounts of computing power and storage, only nodes with the highest processing power will be able to process and confirm blocks, creating a risk of centralization. This centralizing nature effectively defeats the purpose of the blockchain.
In Practical Terms: Bitcoin and Ethereum
Scalability might seem like an abstract concept, so let’s put things in perspective by looking at the two most popular blockchains, Bitcoin and Ethereum.
Bitcoin has a theoretical limit of 4,000 transactions per second. In practice, the Bitcoin network has an upper limit of approximately seven transactions per second for small transactions and three per second for larger, more complex transactions. This limit is known as the maximum throughput. Throughput is primarily constrained by the 1MB maximum block size that’s hard-coded into the Bitcoin protocol, as well as the size of transactions (average transaction is 500 bytes, smaller transaction is 250 bytes). Remember, a block is a bundle of transactions, meaning a block size limit directly limits the number of transactions that can be confirmed per block. A series of blocks that connect to the previous form the blockchain.
Another element that restricts Bitcoin’s transaction efficiency is the inter-block interval, or simply, the time that passes between when a new block is joined onto the previous block. For blockchain, that time averages out to be approximately 10 minutes. Common wisdom among the Bitcoin community dictates that you should wait for at least six new blocks after making a transaction to ensure it was successfully confirmed. This translates to waiting an hour in real life, which is far too slow when purchasing your morning coffee.
As a benchmark, Visa claims that its network can process more than 56,000 transactions per second, taking between five to ten seconds to confirm each transaction. Against Bitcoin’s seven per second and sixty-minute confirmation time, it’s apparent that blockchain has a lot of catching up to do.
Ethereum fares a bit better, but not by much. While it has a theoretical limit of around 1,000 transactions per second, in practice we observe approximately seven transactions per second, up to 15 when transactions are simple. Ethereum’s throughout is constrained by its “gas limit” on transactions. As a brief primer, the Ethereum network requires participants to pay “gas” in order to run transactions. Gas is purchased using Ether, and each operation associated with transactions requires a fixed amount of gas (for example, creating a smart contract expends 32,000 gas, sending a transaction expends 21,000 gas, etc.). The intent of gas is to discourage malicious users from running high volume transactions that would lag the entire network. Whereas Bitcoin is limited by its 1MB block size, Ethereum is limited by a gas limit it places on each block, which currently is around 6.7 million gas. Ethereum’s inter-block time is approximately 20 seconds, and the median gas consumed per transaction is currently is about 50,000. The biggest difference here is that while Bitcoin’s block size limit is hard-coded, the gas limit is dynamically set by Ethereum miners.
So are all blockchain applications doomed? Are we condemned to live in a centralized future? Thankfully, there have been many proposed solutions to the scalability problem, and research in the field is highly active. Highlighted are three solutions for Bitcoin or Ethereum that are relatively easy to understand.
#1: Increase the Bitcoin Block Size Limit
This one is specific to Bitcoin, and simply, involves creating a hard fork that would increase Bitcoin’s 1MB block size limit. The logic is simple: A larger block size means more transactions can be fit into each block, allowing more transactions to be processed per second.
However, there are drawbacks. A “ hard fork ” occurs when a radical change to a blockchain is made (such as increasing the block limit), creating a permanent divergence in the blockchain (a “fork”). After a hard fork, nodes running previous versions will no longer be accepted by the newest version.
Opponents of increasing the block size limit also say that it will be harder and more expensive to maintain a node, mostly due to heavier storage and bandwidth requirements needed to handle the larger blocks. Blockchain is already notoriously inefficient from a power perspective: Each Bitcoin transaction uses a shocking 215 kilowatt-hours of energy, enough to run a house in the US for a week . Another argument is that there is no clear consensus on what to raise the block size to. Some say 2MB, while others believe something between 1MB and 2MB is ideal.
#2: SegWit (Segregated Witness)
SegWit is a proposed solution that seeks to optimize how data within a transaction is stored, also specific to Bitcoin.
Each Bitcoin transaction contains the following inputs: The sender’s previous transaction details, and the sender’s unique private key (digital signature), which is used to verify that the sender has sufficient funds for the transaction. As for outputs, each transaction contains the amount to send, and the public address of the recipient.
Out of these components, the sender’s unique private key takes up the most space, accounting for 60–70% of the total transaction size. However, this private key is only required when the transaction needs to be validated. Segregated witness (SegWit) is a proposal to separate (“segregate”) the private key (the “witness”) from the rest of the transaction data by moving the private key out of the inputs and into a separate structure at the end of the transaction, increasing the effective size of the block by leaving more room for inputs. SegWit supporters believe this would provide an increase of about 70% in transactions.
SegWit is one of the most contentious issues in the Bitcoin community today. Some arguments against SegWit include that it is overly complex from a technical implementation perspective, that is alters the fundamental nature of Bitcoin, and that it creates negative incentive for miners. A planned implementation of both SegWit and increasing the block size to 2MB called SegWit2x was called off at the last second in November 2017 due to sharp division in the community.
Sharding, a solution proposed for Ethereum that Vitalik Buterin himself endorsed, consists of horizontally partitioning a blockchain into smaller chunks, and distributing these chunks throughout the network for groups of nodes to validate. This way, nodes are only responsible for keeping track of their shard, as opposed to the entire network. Shards are updated in parallel and communicate with one another about their state.
However, this presents various challenges. A fundamental tenet of blockchains is that it is a trustless system. However, if a group of nodes only validate their own shard, they would have to trust that the other shards are correct when piecing together the common state of the blockchain. For the entire blockchain to remain secure and trustless, some sort of proof needs to be passed along between shards.
Another challenge involves figuring out how to designate nodes to shards in a manner that prevents attackers from gaining control of any given shard. A third challenge involves figuring out how to deal with transactions that take inputs from different shards, when all shards are processed in parallel.
A Hail Mary: Private Blockchains
Mercifully, private blockchains do not always suffer from the same scalability issued faced by public blockchains. Within a private blockchain, one may guarantee the computing quality of all nodes (recall our earlier discussion of having no control over computing power of individual nodes in a public blockchain). As well, assuming participants in a private blockchains are trusted, the computationally heavy processes that are normally required in trustless environment can be eliminated or conducted off the blockchain. From an application point of view, this makes scalability far more feasible for certain private blockchain projects.
Crypto Investors: Be Wary
As it stands, blockchains that are widespread today such as Ethereum and Bitcoin do not scale efficiently. This limits their usefulness, as the primary value of blockchain applications are derived from large scale network effects. Similarly, the mass of proposed projects funded by a pile-in of ICO money face the same issues, and investors should be wary of entrepreneurs making bold claims of what their blockchain application can do. Even if something works at a small scale, it likely will not scale up well enough to generate the type of return investors are looking for. Certainly, in such a gold rush, it may be easy to get excited and hop aboard, but history has shown that bubbles rarely work out for the greedy. Investors should seek to educate themselves about the underlying technology in order to develop an intuition of what is possible today and what is not. Blockchain has a place in mainstream technology, just not now. Be the smart money, not the dumb.