bloXroute Labs
Published in

bloXroute Labs

Twitter Debate Explained: Why Focus on the Uncle Rate?

By bloXroute Labs CEO & Co-Founder Dr. Uri Klarman

Our Co-Founder and Chief Architect Professor Aleksandar Kuzmanovic was recently featured in the Our Network newsletter sharing our analysis on the Ethereum network and its ability to raise the gas limit.

The topic stirred up an interesting conversation on Twitter on why we need to focus on the uncle rate instead of other factors, like state-size and I/O operation. Complex topics aren’t usually best explained in 140 characters or less, so we thought we would elaborate here.

https://twitter.com/uriklarman/status/1285249672089608192?s=21

The Uncle Rate Is The Problem

The Ethereum community has concerns around increasing the ETH gas limit, primarily:

  1. The uncle-rate may increase
  2. The state-size growth may substantially increase
  3. Nodes may be pushed out if they can’t keep up
  4. The client code would be broken.

Here’s why increasing the uncle rate is indeed the issue and the rest are non-issues.

  1. Uncle Rate

As the gas limit goes up, blocks get bigger and take longer to propagate to all the nodes in the network. This is critical because during this time a competing block might be mined, and the longer it takes — the higher the chances of a fork.

Source: https://blog.ethereum.org/2016/10/31/uncle-rate-transaction-fee-analysis/

Now, a competing block isn’t a major issue — but things start to get messy once forks become common. With too many forks, miners begin adding blocks to different branches of the chain and you start having forks-of-forks and forks-of-forks-of-forks and there is no longer a clear longest chain — the blockchain breaks. That is why this metric is so important.

Vitalik confirms this point that the uncle rate is an important indicator of health in a blog post “Uncle Rate and Transaction Fee Analysis.”

Recently Ethereum blocks reached 35 KB but we are seeing that the uncle rate remains steady.

Data from: https://etherscan.io

2. State Size Growth

A concern for all layer 1 chains is how quickly the size of the blockchain is growing, called the State Size Growth. Before a full node can join the Ethereum network, it must sync the entire history of the blockchain; the longer that history is, the more data there is to store, the more time it takes to sync and the higher the cost to store the data.

Many argue that increasing the gas limit would affect the state-size growth — larger blocks mean the amount of data that needs to be stored grows faster and the problem is exacerbated.

However data shows that increasing the gas limit does not translate to higher state growth. On September 1, 2019, the Ethereum miners increased the gas limit significantly — by 25% — from 8M gas to 10M. You would expect to see a jump in the rate of state size growth — but we don’t.

Source: https://blockchair.com/

How can that be? Because more gas doesn’t necessarily mean more data is stored on-chain. Gas can be used to transfer wealth, computations, loading of data, etc. Storing data is just one of the things gas is used for. If that extra gas is used by DeFi smart contracts which use a lot of gas to compute trading pairs prices, for example, it won’t affect the state size growth.

3. Pushing Nodes Out of The Network

Another concern being voiced is that increasing the gas limit won’t allow full nodes to process new blocks fast enough to keep up with the rate of new blocks arriving, and they will be effectively thrown off the network.

However, a full node running on a commodity PC can usually process a block within 0.5–1 second. Since new blocks arrive every 13 seconds, on average, we have a 10–25x multiplier before this becomes an issue at the current hardware. Given that hardware also improves over time (I just checked and Samsung’s SSD EVO improved by 5x since 2017) I don’t see this ever becoming an issue, but it is definitely not an issue now.

4. Node Code Would Break

We ran into a million different real-world issues running large Ethereum testnets at high capacity in the past 3 years. The one thing we didn’t run into was the Ethereum client breaking due to high throughput.

Conclusion

Ethereum has thrived because it has a community that is engaged and willing to debate tough technical topics to come to practical solutions for the betterment of the entire community. I am thankful that those like Péter Szilágyi and John Adler are willing to engage with me on this topic. You can read our interesting discussion on Twitter here.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store