Scaling Ethereum in the Context of Large Systems
Because it is not all about the transaction speed. It’s about the system.
A Short Story About Transactions
As a company, Visa dates back all the way to 1958. In those days, a temporary paper card was provided with a preset limit, and vendors settled transactions later at the bank. Next, mechanical embossing machines accomplished a similar feat. Still, vendors had to spend several minutes physically calling into Visa to verify and approve transactions that even then had to be later settled at the bank. It was not until two decades later, in 1979, when electronic payment terminals came about. Today, Visa is able to process nearly 60,000 transactions per second, yet on average, Visa only uses less than 3% of that capacity (1,600–1,700 transactions per second).
In recent years, mobile wallets have entered the transaction market. With encrypted payment codes to mask payment information, these wallets provide a more secure interaction with vendors; however, they also open a wider outlet of data flow directly to your phone. Why have more than 80% of Apple users held off on setting up Apple Pay while the rate of adoption for WePay and AliPay in China has skyrocketed? Perhaps, the exposure of consumer data has deterred Apple users?
Which brings me to the question: is it really about transaction speed? Yes, security is certainly a factor, but if we were purely after a faster transaction time for our money with more security, why aren’t more people in The West using mobile wallets? And to that end, why did anyone ever use Visa cards to begin with? At the start, they actually increased transaction time and complexity. [Granted, a caveat here is that these transaction innovations were accomplished with a stable, traditional fiat currency, but humor me and assume we are working with stable coins.]
If the past is any indication, Ethereum cannot scale through increased transaction time alone.
A Short Story About Pyramid Schemes
A pyramid (or Ponzi) scheme is system in which each paying participant is encouraged to recruit two or more new participants, and the payments of the new recruits are used to “pay off” the older ones. This occurs in the absence of a real sustainable revenue stream and often leads to a collapse. A thing about pyramid schemes: they are heavily dependent on scaling. Fortunately for the general public, pyramid schemes rely more on slower a peer-to-peer conversion system.
A friend of mine and her boyfriend recently encountered a set of recruiters for a pyramid scheme. Interestingly, these particular recruiters were a couple in search of other couples to join the system. Without a shadow of a doubt that they had encountered a pyramid scheme, my friend directly questioned, “What do you say to those who accuse this of being a pyramid scheme?”
Their answer? “Take a look at Wells Fargo or any other bank.”
After a few more minutes of back and forth, the female in the duo piped in with, “Well, with this program, if the woman is not on board with her significant other, we see a lot of relationships fail.”
To which my bold, heroine of a friend replied, “So, now you’re trying to convince me by threatening my relationship…?” Needless to say, that was about the end of the conversation, and they did not sign up for the program.
Still, how eerily similar are the arguments above to those of individuals or organizations endorsing cryptocurrency? How many times has someone brought up the centralized Federal Reserve and inflation as a retort to the lack of stability in Bitcoin or Ether? And thankfully, I have never encountered the irrationality of someone claiming that a lack of allegiance to cryptocurrency would destroy a relationship. Yet, is challenging one’s allegiance to a government, employer, or form of employment really all that different?
Ethereum cannot scale through the recruitment techniques and attempted persuasions of a ponzi scheme.
What Now?
If we are not going to recruit our way into scaling nor will we grow through increased transaction time alone, how will Ethereum scale?
To answer this question, my research began with scaling large systems that led me to this video in which Professor David West goes through the 2006 paper from Carnegie Mellon Ultra Large Scale Systems: The Software Challenge of the Future that details the hypothesized requirements of a superior large scale system. This paper was originally put together as part of an initiative from the United States Department of Defense and collected thought leadership from some of the top minds in the industry at the time. Although even Bitcoin was not around yet, the paper carried some surprising forethought into its design.
The Preservation of Decentralization
The paper postulated several ideas as to the growth of large scale systems and their essential requirements. Of all the challenges in creating a large scale system, speed was mentioned only four times in the 150 page paper! That’s not to say that speed is not important. But in building a robust large system, speed is not perceived as the biggest challenge.
However, in the paper, it is noted that an essential challenge to overcome when creating a large scale system is decentralizing its control.
So, does this mean Ethereum is already poised to scale better than existing centralized systems? I would argue, in the far out future, yes. If Ethereum wanted to scale transactions speed, this could be far more easily accomplished through centralizing the transaction processing, and in fact, examples already exist in systems all over the world from major corporations to governments. We are already capable of tremendous transaction speeds. What Ethereum ultimately wants to scale is not transaction speed, it is scaling decentralization. Thankfully, practical developers know that the general public will not forsake speed or convenience simply to participate in a “decentralized” system. So, one effort must pull the other.
To approach this challenge pragmatically, the Ethereum community is looking at Layer 1 and Layer 2 solutions. Layer 1 solutions include those that bring changes to the core code base of the Ethereum blockchain, while, as you may suspect, Layer 2 solutions are being built on top of the Ethereum blockchain. The simplest explanations of the ongoing efforts you’ll find in the table below.
Essentially, sharding mirrors traditional database sharding in which pieces of the database are spread across multiple locations. In Ethereum’s case, the blockchain would be spread across multiple nodes, so that each node would not have to verify, process and hold every transaction. This would help to speed up transaction time at the base chain level.
As to Layer 2 solutions, state channels use smart contracts to manage the exchange of value or a state offchain with final settlement happening on chain. For example, think of a traditional bar tab in which a bill may be opened at the beginning of the evening then accumulate a few drinks and close out, state channels open with a certain amount and certain set of participants, participants agree to exchanges of value or changes of state offchain, and final settlements are managed onchain. In the offchain interactions, these exchanges are managed essentially as instantaneous as current databases allow, ensure privacy, and do not require any transaction fees. A great primer on state channels is here, and I wrote an extensive piece on generalized state channels for developers as well here.
Plasma uses a similar methodology to state channels in which agreements and transactions are signed offchain; however, instead of changing solely a state, an entire second layer blockchain is built on top of the main chain. This is typically managed by a particular account or set of accounts that routinely sends “blocks” back to the main chain to be later verified. Both plasma and state channels experience challenges in exiting back to the main chain. This challenge is due to the fact that a time allotment is required to ensure malicious actors do not attempt to exit the plasma chain or the state channel with false information.
Lastly, TrueBit is an effort to move the computational portions of smart contracts off chain. More updates about TrueBit can be read here.
However, more than simply understanding these initiatives, it is far more interesting knowing the shear number of companies and organizations working to improve existing scaling solution implementations and make them a reality. For example, in the past months, new teams have engaged in the plasma implementation calls while cross project opportunities have been identified between the sharding and Casper, or proof of stake, teams. In other words, these projects are moving, and with the impending hard fork continuing to adopt even more Ethereum Improvement Proposals (EIPs), Ethereum has transitioned to a dynamic, constantly changing organism.
And that brings us to another element that is identified as a strength of large scale systems…
Continuous Evolution and Adaptation
In the Ultra Large Scale Systems paper, the evolution of a system is described in the following way:
Their size will make it impractical to replace or retire them. Instead, like very large systems today, they will continuously evolve to meet new and modified requirements and to incorporate new technologies. But we envision a different type of evolution than is typical of today’s very large systems. By evolution, we mean change that is guided and constrained by rules and policies that allow local needs to be satisfied in local ways without destroying the integrity and value of the overall system.
As described above, Ethereum is not meant to be retired or replaced — it is meant to evolve. However, how is the evolution of Ethereum “guided and constrained by rules and policies”? In 2013, the Ethereum Foundation raised $17M to build out the Ethereum blockchain. Since its inception the Ethereum Foundation has been the guiding organization in Ethereum’s continuous development.
With the iconic face of Vitalik appearing in articles and documentaries, it is easy for the those outside the Ethereum community to assume a monarchy exists. Yet, the reality is there are several diligent teams working across the globe to not only improve the core development processing but also to improve the governance process. Every two weeks the core developers call discusses the implementation and inclusion of varies improvement proposals, and this call often includes those outside the Ethereum Foundation. Even more than that the Fellowship of the Ethereum Magicians is a self-organized group of Ethereum enthusiasts further maximizing the advancement of the Ethereum ecosystem. Another consideration is Ethereum large pool of developers that rests at nearly 30 times more than the number of developers than the next most popular blockchain ecosystem. Thus, several people are experimenting and tinkering with the system everyday — not just as users, but as developers and builders.
Whether you are a user, a miner, a developer or a trader, each participant has a certain amount of say within the Ethereum ecosystem. The Ethereum Foundation has no quarterly financials to report to Wall Street, miners have a choice of the chain within which to use their computing power, and users are no more compelled to use Ethereum than they are to own a specific brand of cellphone.
The point is, the Ethereum will only scale and survive if each part of the community is served to a level that outshines alternatives. Unlike the ponzi scheme story, no form of coercion or get-rich-quick investment schemes will suffice because the true strength of a system is not its ability to persuade an audience but rather its ability to adapt and evolve to serve its ultimate purpose, which is to become a decentralized system that allows for the border-less transmission of value and information.
Lastly
Thus far, I’ve managed to avoid saying “the current Ethereum block time averages 15 seconds.” This strategy was not in an effort to avoid this statistic but rather emphasize that transaction time is only a fraction of the combined effort needed to scale the Ethereum ecosystem.
Without achieving a realistic transaction time, Ethereum will surely not be able to compete, so it is a necessarily metric that must be achieved in the short term through the most realistic means. However, preserving decentralization and ensuring continuous evolution will ensure a far more relevant future for Ethereum than achieving transaction speed alone.