Coming soon - Get a detailed view of why an account is flagged as spam!
view details

This post has been de-listed

It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.

530
Why has the chain capacity increased by ~9% after London? Three answers...
Post Body

Looking at the daily gas used chart, we see that average gas used per day has increased from ~92B to ~100B: a 9% increase.

https://preview.redd.it/om4weo0gdgh71.png?width=1344&format=png&auto=webp&s=750664a48cdd4ac01dcdd0459f0a59c0baa083b7

Why did this happen?

I think that the effect is roughly evenly split between three different causes: (1) ice age delay, (2) pre-London blocks being not full, and (3) imperfections in the basefee adjustment formula.

Ice age delay

The London fork delayed the ice age, which had just barely started to take effect when the London fork began. Pre-London, average block times were ~13.5s, and post-London average block times are back down to their long-run normal level of ~13.1s:

https://preview.redd.it/ce6lv2ipdgh71.png?width=1344&format=png&auto=webp&s=5806f200d1ba71c33b90c9d7d77abf1b8c4818d9

This is a ~3% difference in block speed, which explains 3% out of the 9% increase in on-chain gas usage.

Target 15M vs maximum 15M

Pre-London, the maximum block gasused was 15M. But not all blocks used the entire 15M: even the most well-functioning block producers would leave 0-20999 gas unused because there's too little remaining space to fit a single transaction, and on top of that there are always the occasional block producers who make empty blocks. An analysis from April suggests that ~2% of blocks were empty. Altogether, we might suppose a pre-London unused space of ~2-3%. Post-London, however, 15M is not the maximum, it's the target. This means that if average gas used, including the empty blocks, is below 15M, the basefee will decrease until the average is back to 15M.

So this accounts for another ~2-3%.

Mathematical imperfections in basefee adjustment

The EIP 1559 formulas is not quite perfect in targeting 50%. This is because of the complex relationship between arithmetic and geometric means. A 0% full block decreases the basefee by 12.5% (multiplies it by 7/8). A 100% full block increases the basefee by 12.5% (multiplies it by 9/8). So what happens if you have a 0% full block followed by a 100% full block? The basefee is multiplied by 63/64. Hence, for the basefee to remain constant, you actually need the average usage to be slightly above 50%.

How far above depends on what the variance is. The theoretical minimum volatility bias is zero: if every block is exactly 50% full, so the basefee remains constant in each block. The theoretical maximum volatility bias is the case where 53.13% of blocks are 100% full and 46.87% of blocks are empty (the ratio of full to empty being 1.133, the same as the ratio -log(7/8) / log(9/8)); in that case, the basefee would remain constant with blocks being on average 53.13% full. Actual usage seems to be right in the middle of these two extremes: taking data from one recent observed timespan, average blocks were 51.5% full (so, ~3% above the "intended" fullness).

A recent data analysis roughly confirms both of the last two numbers (look carefully at the pre-London and post-London blue line, and the horizontal 15M line on the chart):

https://preview.redd.it/l2d69eqvhgh71.png?width=1488&format=png&auto=webp&s=23cb550043afdf348328ce4877794101dd56a025

One possible fix to this mathematical oddity is to make the basefee adjustment mechanic more explicitly exponential: https://ethresear.ch/t/make-eip-1559-more-like-an-amm-curve/9082. This would establish a hard invariant where the basefee can be computed as a direct function of the total "excess" gas usage (so for any level of excess gas usage to continue forever, the basefee would have to eventually shoot toward infinity).

But for now, Ethereum users can rejoice in the unintentionally 6% increased capacity that London brought (and client devs need to keep working hard on statelessness / state expiry to make sure we can handle the increased state growth safely).

Author
Account Strength
100%
Account Age
12 years
Verified Email
Yes
Verified Flair
No
Total Karma
132,061
Link Karma
17,555
Comment Karma
87,989
Profile updated: 3 days ago
Posts updated: 7 months ago
Just some guy

Subreddit

Post Details

We try to extract some basic information from the post title. This is not always successful or accurate, please use your best judgement and compare these values to the post title and body for confirmation.
Posted
3 years ago