As early as February 2017, Bitcoin began hitting up against its daily transaction volume limit of around 250,000 transactions per day provided for by its 1 MB block size ceiling. Meantime, Ethereum processed just a fifth of that volume at about 45,000 transactions per day.
Over the next six months, Ethereum’s transaction volume rose to 250,000 transactions per day, then surpassed that and never looked back. On January 4, 2018, Ethereum hit a peak of 1.35 million transactions, over 3x Bitcoin’s volume that day of 424,000.
While both Bitcoin and Ethereum rely on variable transaction fees that can be adjusted according to network volume, Bitcoin blocks include a fixed 1MB size, which puts a hard upper bound on the number of transactions that can fit inside a block.
The result is that while Bitcoin blocks have filled up with transactions and stagnating transaction volumes, high fees and long confirmation times, Ethereum block sizes have been continually adjusted to facilitate a healthy network. It’s a mechanic that doesn’t get enough attention — but, as part of the protocol, Ethereum miners are able to adjust the network’s capacity dynamically through a continual voting process.
In the short term, the voting process has allowed the network to scale itself to accommodate more transactions and increased demand for Ethereum. In the long term, the way that Ethereum has separated instrumental policy decision-making from its core values and protocol has allowed the community to create consensus and move the project forward.
What happens when you hard code policy into the protocol
Suppose that a country had a nationally mandated vehicle speed limit that was enshrined in the country’s constitutional law. Then in the United States, for example, the process of changing the speed limit would be the same process as changing a constitutional amendment, which requires a 67% majority vote in both the House of Representatives and the Senate, or by a constitutional convention called for by 67% of state legislatures.
In other words, it would be really hard to change the speed limit. The U.S., for instance, has only managed 27 constitutional amendments in its 230-year history, and they banged out the first ten amendments in the few years after the constitution’s ratification when the network had heavy founder centralization. Meanwhile, the country’s roads would get increasingly congested as the speed limit imposed an arbitrary limit upon the technological advance of motor vehicles in the intervening years.
Because Bitcoin’s block size is hard coded into the protocol, it’s exceedingly difficult to change. Changing the block size is just as hard as changing the 21 million coin supply limit. In other words,
A policy prescription for network efficiency (block size) and a fundamental principle on monetary supply (the supply limit) share the same adjustment difficulty — both require the vast majority of clients in a decentralized network to run the new software.
Rather than have a fixed block size value that lives in the protocol as with Bitcoin, in Ethereum, the gas limit is a variable that lives in the blockchain. So while what’s in the code can only be updated with a fork, what’s in the blockchain gets updated every 13 seconds (average block time in Ethereum).
In every Ethereum block, miners include a value for the gas limit, which specifies the maximum amount of gas that can be used for transactions in the block. For the gas limit to be valid, it must be within 1/1024 or .0967% of the parent block. That yields a voting process, where a 51% majority of miners can push the gas limit up or down to optimize the performance of the Ethereum network on the fly.
- When CryptoKitties — a game for collecting and trading digital kittens — exploded in popularity, miners increased the gas limit to allow more transactions through and relieve congestion.
- When hackers spammed the Ethereum network with transactions, miners decreased the gas limit to buy developers time to develop a solution.
The separation of policy from principle — blockchain from protocol — allows for a voting process that’s procedurally lightweight, separate and distinct from the procedurally heavyweight process of changing core code. That produces a network that adapts.
Ethereum’s 50x gas limit increased via voting
Bitcoin’s block size has only increased once in the last seven years with the introduction of SegWit, which effectively increased the block size from 1 MB to 2 MB. The block size issue became so contentious that it resulted in the Bitcoin Cash hard fork where a group splintered off to create a separate blockchain entirely around the idea of bigger blocks.
Unlike Bitcoin, Ethereum doesn’t have a fixed block size. Instead, each block on Ethereum has a gas limit that determines how many transactions can fit in a block. Ethereum has adjusted its gas limit over seven times since it launched in 2015. When CryptoKitties began seriously taxing the Ethereum network in early December 2017, miners organized to increase the gas limit from about 6.7 million to just under 8 million.
Increasing the gas limit has allowed the block size to 50x from 640-byte blocks on launch to a high of 33 kB. That means more transactions per block, which means a higher transaction throughput.
When attackers found an exploit that allowed them to spam blocks with transactions in October 2016, miners decreased the gas limit to buy developers time to patch the bug.
In general, by increasing the gas limit, the utilization per block decreases in the short term, alleviating congestion and reducing pending transactions and fees. Note, however, that from the macro view perspective, utilization continues to trend upward, which means that other scaling solutions will be needed.
In the meantime, miner voting on the gas limit has allowed Ethereum to adjust for and facilitate the exploding usage of Ethereum. A protocol can’t be fixed and static because the world in which a protocol lives isn’t fixed, it’s constantly changing.
With network speeds increasing, hard drive costs decreasing and computational power growing, Ethereum will continue to be able to use its gas limit voting mechanic to increase transaction volume, on the fly, without a fork.
Bad process results in bad outcomes
When a process requires a 95% majority to make a change, like forking Bitcoin to update the protocol, it’s going to be hard to find the middle ground and move forward with any solution.
Polarization and then a split becomes inevitable, not due to the intractable nature of the problem, but simply due to the brokenness of the governance model. Without any room for compromise, factions will splinter off — and that’s exactly what happened with the Bitcoin Cash contentious hard fork.
The above references an opinion and is for informational purposes only. It is not intended as and does not constitute investment advice, and is not an offer to buy or sell or a solicitation of an offer to buy or sell any cryptocurrency, security, product, service or investment. Seek a duly licensed professional for investment advice. The information provided here or in any communication containing a link to this site is not intended for distribution to, or use by, any person or entity in any jurisdiction or country where such distribution or use would be contrary to law or regulation or which would subject SFOX, Inc. or its affiliates to any registration requirement within such jurisdiction or country. Neither the information, nor any opinion contained in this site constitutes a solicitation or offer by SFOX, Inc. or its affiliates to buy or sell any cryptocurrencies, securities, futures, options or other financial instruments or provide any investment advice or service.