Ethereum has an inbuilt default function that increases or decreases capacity based on network demand with the algorithm automatically voting for a raise if blocks are 2/3rd full of transactions.
But the Status ICO tried a new method to ensure greater inclusivity during the token sale by capping the gas price (transaction fee). That led to many transactions being thrown off, causing a backlog.
Ethereans complained they had to wait for hours, with many others wondering how there can be a backlog when ethereum has an automatic adaptive mechanism for capacity increases or decreases, leading to some confusion which may have perhaps contributed to the recent price crash.
It turns out miners don’t actually use this adaptive function. Nick Johnson, a developer at the Ethereum Foundation, told Trustnodes that during a DDoS attack last year which exploited a gas price miscalculation, the Ethereum Foundation suggested miners set a lower floor on the gas limit.
“I suspect that some miners are voting for a fixed ceiling because they enabled those limits during the DoS attacks and haven’t disabled them. I can’t really speculate what their motivation would be for not disabling them,” – Johnson said.
That means the automatic limit has now turned into a constant and manual miners vote with some comparison to bitcoin being useful at this stage since some miners and ethereans come from bitcoin.
Ethereum and Bitcoin, Similar Yet Different
One of the most interesting statement by Nakamoto is him saying that bitcoin’s design is set in stone. It’s a somewhat perplexing quote, especially when you consider he made many protocol upgrade and changes, so he couldn’t have been talking about details. That leaves concepts.
What he most probably meant was that the chain of blocks connected together through crypto with nodes validating, basically the core concept itself, is set in stone. There can be extensions of its features, tweaking of parameters, but the very foundations can’t be changed without some breakthrough in thinking.
That means bitcoin and ethereum, at their very core, are similar, but because ethereum is Turing complete, what in bitcoin would be called a transaction fee is called a gas limit because that acts as a limit on how long ethereum smart contracts can perform a certain function like the gas acts as a limit on how far a car can drive.
So in bitcoin, any talk about capacity would be referring to bytes, with a typical transaction being around 400 bytes. That would reflect on the 1MB limit for each block which translates to around 4,000 transactions or so every ten minutes.
In ethereum, everyone would be talking about gas – with the smallest possible transaction taking around 21,000 gas – and the gas limit, which currently is at 4.7 million, the exact answer to 1.5M * pi (because geeks.)
That translates to around 10 transactions per second, but complex ethereum transactions need more gas, so during surges it may cause backlogs, requiring a manual increase in the limit because miners are not using the adaptive and automatic algorithmic increase.
Algorithms vs Humans
“Miners should just disable fixed caps,” Johnson said. Some have suggest miners should double this 4 million limit to 8 million, but Johnson says that’s a bad idea:
“The idea behind the adaptive gas limit is that it can be adjusted to network conditions. If someone sends a sudden burst of transactions, it’s better to spread them out over a few blocks than try and process them all at once. But if the sustained volume is high, it’s better to increase overall network capacity.”
With a manual gas limit, there is also the question of co-ordination. We’d have to rely on websites like the gas-station, as well as public forums and other spaces where ethereans ask for an increase of the limit, then wait on miners.
That worked for bitcoin where miners increased their limit from 250k, to 500k, to 750k, and then to 1MB, but this manual approach opens the space to confusion, whether intentional or otherwise, with manual action necessarily far slower than the algorithm.
“Basically, the gas limit is not a consensus parameter; miners are free to vote it up or down on each block according to their desires,” said Johnson. Rather than coordinating on lifting the cap each time, “the best thing to coordinate on would be turning off those caps,” – he said.
It makes sense. Ethereum developers have spent considerable time to refine the adaptive function probably because it is far more efficient than coordinating dispersed miners through tweets or other social media each time higher capacity is required. Especially when such higher capacity requirements can be time sensitive.
Moreover, the cap may require fairly frequent raising or lowering depending on conditions with coordination during each such event probably very inefficient not least because it takes a significant amount of time.
So the best way for miners to proceed regarding the gas limit may be to simply use the default adaptive function.