The sudden popularity of CryptoKitties has sent ethereum’s capacity to its limit with the network processing more than 700,000 transactions yesterday.
Demand for ethereum transactions have been increasing for months, but it appears kitties are what done it, with the network now congested, around 20,000 transactions stuck and fees at 11 cent.
Moreover, miners are now saying they will not increase the soft gas limit (blocksize), because uncle rates (ophaned blocks) are too high. Nick Johnson, from the Ethereum Foundation, says:
“Bigger blocks means more uncles; an optimisation that speeds up block propagation or processing improves uncle rates at all levels of utilisation.
There’s been some significant work on the past, particularly in the wake of the DoS attacks, to improve processing speed. But it’s not been as urgent lately.
I predict we’ll see more work put in on it in the near future, and there’s at least a couple of things I can think of that are fairly low-hanging fruit.”
It appears ethereum has been focusing on big long term scalability upgrades, like Proof of Stake and sharding, which means there may be some fairly easy protocol improvements that can address the more short term problem of high uncle rates. In providing some examples, Johnson says:
“A recent EIP introduces compression on transaction data, which reduces payload size substantially. That’s supported in new versions of geth, but I don’t believe parity yet supports it, so any connections between geth and parity are sending uncompressed data.
Geth has improvements planned to only write tries out to disk intermittently instead of on every block, which avoids the need to write out data that immediately becomes obsolete.”
There are a number of bottlenecks to simple (higher blocksize) on-chain capacity increases. The easiest one is storage, which is now very cheap and not quite a bottleneck any more. Then there is internet bandwidth, which interacts with latency, that being the time it takes to send a block to other miners.
One way to address those bottlenecks is by compressing data, something that has apparently been implemented in ethereum’s main client, Geth, but not yet in its second most popular client, Parity.
Ethereum, therefore, might soon implement its own version of FIBRE, xThin or Graphene, which allow miners and their blocks to “communicate” with each other much faster, thus reducing uncles.
At this point, however, Johnson agrees with Ethermine regarding retention of the current gas limit and transaction capacity, stating:
“I think he’s right that increasing the gas limit right now probably isn’t practical. Improvements to processing or propagation efficiency would change that picture, though.”
Estimating the time it would take to implement these improvements, such as propagation efficiency, is always difficult, with Johnson stating that a time estimate:
“Depends on both major client teams and the difficulty of the improvements. It’d at least require making the improvements, rolling out new versions of the clients, and keeping an eye on uncle rates to see what effect they’re having – I’d estimate a couple of weeks minimum.
I personally think it’s quite possible that either CryptoKitties will roll out their own performance improvements, or demand will die down sooner than that. But of course performance improvements are a good thing regardless.”
As demand for ethereum transactions has been increasing for months, a slowdown might be unrealistic. So we wondered whether ethereum might find itself in a situation where transaction fees rise to a dollar or more. Johnson says:
“I really can’t predict what will happen to fees; it depends enormously on how many people want to transact and what they’re willing to pay.
It seems practical to implement useful performance improvements, roll them out, and evaluate their effectiveness on a timescale of weeks, but I can’t say how big an impact they’ll have.”
Vitalik Buterin, ethereum’s inventor, has previously stated that fees of 20 cent are too high, so it is probable any increase in fees would be temporary while developers implement low hanging fruits efficiency protocol improvements before the bigger upgrades of Casper and Sharding.
But for now, and perhaps for the next few weeks, ethereum’s congestion may continue, with fees potentially rising further, increasing the urgency of protocol efficiency improvements, which may go live very optimistically by the end of the month but more realistically sometime early next year.