What used to be euphoria has fizzled into despair as the price of Ethereum (ETH) has taken a dive from a June high of US$400 down to US$240. Media outlets covering the crash allegated that it was due to “technical difficulties” that clogged the Ethereum network, causing significant delays in processing transactions.
The sheer volume of transactions from Initial Coin Offerings, or ICOs, significantly tested the Ethereum network to its breaking point. There were two weak factors at play: ICO frameworks and sophisticated fee estimation algorithms.
The scalability problem started escalating since June 1, tracing back to the Brave (BAT) token sale.
Issues then really began to snowball after the close of the Bancor ICO.
Transaction volume finally got really demanding after the Status ICO.
At the core of what ensued is the mechanics of fee estimation in Ethereum. Ether, also known as ETH, is the intrinsic currency on the Ethereum network. The smallest denomination of ether is the Wei, where one ether is defined as 10^18 units of Wei. Gas, on the other hand, is the fuel that drives smart contracts. In Ethereum clients, ether is automatically converted to units of gas. Gas is then used as the fee for operations run in the Ethereum execution environment.
Transaction fees are composed of two parameters multiplied together: the price of gas, in ether, and amount of gas. Users can specify whatever gas price they choose, even if it is zero. However, miners pick transactions with the highest fees; only those chosen transactions get into a block.
This free market fee estimation framework requires some sophistication in order for a user to estimate the optimal fee to bid. They must determine a fee that is neither too low, causing their transaction to be outbid, nor too high, causing them to overpay.
The Bancor ICO on June 12 was also the first large scale ICO to test the boundaries of the Ethereum network bandwidth. “We didn’t anticipate the demand,” Bancor employee Eddy Azar told Brave New Coin.
In order to manufacture fairer distribution, by favoring smaller contributors over larger ones, Bancor placed a hard-coded gas price limit of 50 gigawei (Gwei) per transaction, so that no contributor with a large sum of capital can bid up the gas price to get in front of the line.
“The gas price was capped so that there wouldn’t be a bidding war on it. Most ICOs have whales that will spend thousands of USD on gas just to be first in line. We didn’t want to create a situation where a ton of people spend a ton of unnecessary gas on priority.”
- Eddy Azar, Bancor
Immediately following the Bancor ICO was the Status ICO on June 20, which implemented “Dynamic Ceilings” as well as another 50 Gwei gas price limit. What began as good intent from those ICOs ended in unintended consequences.
In a medium post, the Status team wrote that “larger contributors would have to split up their transactions into much smaller ones, thereby incurring more costs per transaction. If a transaction goes beyond the ceiling, it is thrown.”
Large contributors, being incentivized to do so, split up their transactions into small ones and started spamming the network in order to increase their odds of buying into the ICO.
By turning the crowdsale into a lottery rather than a “gas price contest,” the tag team between Bancor and Status single-handedly caused non-malicious actors to effectively mount a Denial of Service attack (DoS) on the Ethereum network.
Vlad Zamfir, the core blockchain researcher of Ethereum, explained to Brave New Coin that, “there’s now a game of how you get into ICOs faster than anyone else. People are highly incentivized to do it. Because of bad ICO design, people are a) pumping out transactions at the same time, and b) incentivized to spam the network. You don’t pay higher fees to get ahead of the line, you spam to get ahead of the line because the only thing you can do is get more places in the line. You can’t get priority because if you pay higher, you don’t get it.”
He further added that the sophistication in fee estimation caused the exchanges not to participate: “It also caused people to be frustrated because they can’t figure out how to pay the right amount. But the spam was caused by bad ICO design.”
When asked about his sentiments on the Ethereum network quickly approaching imminent scalability issues, Vlad Zamfir answered, “I’m optimistic that we’ll find great scaling solutions. But I’m less optimistic that the Ethereum community will deploy them.”
“In the worst case some of us can just split and then get scaling that way, rather than through complete unanimous consensus,” the researcher mused. “The DAO fork specifically showed that contentious forks aren’t that bad. Also notably, hard fork stigma was never a strong part of the Ethereum culture." - Vlad Zamfir, Ethereum Blockchain Researcher