Reasons to have higher L1 gas limits even in an L2-heavy Ethereum
2025 Feb 14
See all posts
Reasons to have higher L1 gas limits even in an L2-heavy Ethereum
Special thanks to Ansgar Dietrichs for feedback and
review
One important near-term debate in the Ethereum roadmap is the
question of how much to increase the L1 gas limit. Recently, the L1 gas
limit was increased from 30 million to 36 million, increasing capacity
by 20%. Many support following up with much larger increases in the near
future. These increases are made safe by recent and upcoming
improvements in technology: efficiency improvements to Ethereum clients,
reduced need to store old history due to EIP-4444 (see roadmap), and
later on stateless
clients.
However, before we go down this path, it's important to ask a
question: in the context of the rollup-centric
roadmap, are higher L1 gas limits the right thing to do in the long
term? Gas limits are easy to increase, but difficult to decrease - and
even if you do decrease them later, the consequences to centralization
may well be permanent. We do not want to end up with the centralization
risks of heavy L1 usage without actually being sure that we will benefit
from that usage.
This post will argue that, even in a world where most usage
and applications are on L2, there is value in significantly scaling,
because it enables simpler and more secure patterns of application
development. This post will not attempt to argue for
or against a claim that more applications in general should be on L1
even in the long term. Rather, the goal is to argue that eg. ~10x
scaling on L1 has long-term value regardless of the outcome of that
debate.
Censorship resistance

The goal is to resist censorship.
One of the core value propositions of a blockchain is
censorship resistance: if a transaction is valid, and
you have the funds to pay a market-rate fee, you should be able to
reliably get that transaction included onchain, quickly.
In some cases, censorship resistance is needed even on short
timescales: if you have a position in a defi protocol, and prices are
changing very quickly, then even a 5 minute delay in getting a
transaction included could be enough to get you liquidated.
The staker set of the L1 is highly
decentralized, making it very difficult to censor a transaction for
more than a few slots. There are proposals
to improve this property of Ethereum even further, guaranteeing
censorship resistance even in cases where eg. block building is highly
centralized and outsourced. L2s, on the other hand, rely on either a
much more concentrated set of block producers, or a centralized
sequencer, which can easily choose to censor users. Some L2s (eg. see Optimism,
Arbitrum
documentation) do have a force-inclusion mechanism to allow
users to submit transactions directly through the L1. Hence, the
practical value of the censorship resistance guarantee is dependent on
(i) L1 fees being sufficiently low, and (ii) L1 having enough space that
users can send bypass transactions even if an L2 censors a large number
of users en masse.
Basic mathematical
assumptions
We can do some math to compute how expensive it is to actually use
the force-inclusion mechanism. First, let's state some assumptions,
which we will also reuse in other sections:
- An L1 → L2 deposit transaction today costs around 120,000 L1
gas. Here
is an example from Optimism.
- An ultra-minimal L1 operation such as changing the value of a
particular storage slot costs 7500 L1 gas (cold SSTORE
plus calldata cost of the address plus a little more for
computation)
- The ETH price is $2500
- The gas price is 15 gwei, a reasonable
approximation for the long-term
average
- Demand elasticity is close to 1 (ie. doubling the
gas limit would halve prices). This is
weakly supported by earlier analyses of data, though in practice we
should note that the actual elasticity could end up very different in
either direction
- We want responding to attacks to cost less than $1.
"Normal" operations should
not cost more than $0.05 per tx. Transactions whose
level of exceptionalness is somewhere in between (eg. key changes)
should cost less than $0.25. This is admittedly just an
intuitive value judgement
Given these assumptions, today bypassing censorship would cost
120000 * 15 * 10**-9 * 2500 = $4.5
. To push it below our
target, we would need to scale L1 by 4.5x (though note that this is a
very rough estimate, because elasticity is so hard to estimate, and even
absolute usage levels are hard to estimate).
Need to move assets between
L2s
Often, users will need to move assets from one L2 to another. For
commonly-traded high-volume assets, the most practical way to do this is
intent protocols such as ERC-7683. Only a small number of
market makers need to actually do direct movements from one L2 to
another; everyone else simply trades against the market makers. For
low-volume assets or NFTs, however, this is not possible, and so to move
such assets from one L2 to another, individual users would need to send
transactions through L1.
Today, a withdrawal costs ~250,000
L1 gas and a deposit another 120,000
L1 gas. Theoretically, this flow can be optimized quite a bit. To
move an NFT eg. from Ink to Arbitrum, the underlying ownership of the
NFT has to be transferred from the Ink bridge to the Arbitrum bridge on
L1. This is a storage operation and costs only ~5000 gas. Everything
else is "just" calls and proofs and with the right logic can be made
cheap; let's say a total cost of 7500 gas.

Let's calulate the cost in both cases.
Today: 370000 * 15 * 10**-9 * 2500 = $13.87
With ideal design: 7500 * 15 * 10**-9 * 2500 = $0.28
Our ideal goal is $0.05, so this implies a need to scale 5.5x.
Alternatively, we can analyze more directly based on capacity.
Suppose that each user needs to do a cross-L2 transfer of an NFT (or
rare ERC20) on average once a month. Ethereum's total gas capacity for a
month is 18000000 * (86400 * 30 / 12) = 3.88 trillion
, or
enough for 518 million such transfers. Hence, if Ethereum wanted to
serve the whole world (eg. take Facebook's user count of 3.1 billion),
it would need to expand capacity by ~6x, and that's if that's the
only thing L1 was for.
L2 mass exits
One of the important properties that L2s have, that "alt L1s" do not,
is the ability to exit to the L1 if the L2 breaks. What if all users are
not able to get out within a one-week window? In optimistic rollups,
this may actually be fine: a single honest actor can prevent bad state
roots from being confirmed indefinitely. In plasma
systems, however, there is often a need to get out within one week if
data becomes unavailable. And even in optimistic rollups, a hostile
governance upgrade gives users a 30 day timeline (see: stage
2 definition) to withdraw their assets.
What does this imply? Well, suppose that a single Plasma chain
breaks, and an exit costs 120000 gas. How many users will be able to
exit within a week? We can compute:
86400 * 7 / 12 * 18000000 / 120000 = 7.56 million
users. If
it's an optimistic rollup with a hostile 30-day-delayed governance
upgrade, that increases to 32.4 million
users. Conceivably,
you could create a mass-exit protocol that allows many users to exit at
the same time. Suppose that we push efficiency to the limit, and you
only need to do one single SSTORE and a little more (so, 7500 gas) per
user. Then, the two numbers increase to 121 million
and
518 million
, respectively.
Sony has an L2 on Ethereum
today. Sony's Playstation has about
116 million monthly active users. If all those users were to become
Soneium users, then Ethereum today would not be scalable enough to
support a mass exit event. However, if we implement much more clever
mass exit protocols, it just barely would be.
If we want to avoid technically complex hash-commit protocols, we may
want to have space for 7500 gas per asset. I currently have 9
assets of significant value on my primary wallet on Arbitrum; if you
take that as an estimate, then L1 potentially needs to scale by ~9x.
The other concern for users is that even if they can scale safely,
they would lose a lot of money to very high gas costs.
Let's analyze the gas costs, using both present-day and "ideal" costs
for an exit:
120000 * 15 * 10**-9 * 2500 = $4.5
7500 * 15 * 10*-9 * 2500 = $0.28
The problem with these estimates, however, is that in a mass exit
situation, everyone would be trying to exit at the same time,
and so gas costs would be significantly higher. We have seen entire days
where the L1's average daily gas cost goes above 100 gwei. If we take
100 gwei as a baseline, then we get a withdrawal cost of $1.88, implying
a need for L1 to scale 1.9x to handle exits affordably (under $1). Note
also that if you want users to be able to exit all their assets
at once, without needing technically complex hash-commit protocols, then
that may imply 7500 gas per asset., then withdrawal costs increase to
either $2.5 or $16.8, depending on your parameters, with corresponding
implications to how much L1 needs to scale to keep withdrawals
affordable.
Issuing ERC20s on L1
Many tokens are being launched on L2s today. This has an underrated
security concern: if an L2 goes through a hostile governance upgrade,
then an ERC20 launched on that L2 could start issuing an unlimited
number of new tokens, and there would be no way to stop those tokens
from leaking into the rest of the ecosystem. If a token is issued on L1,
the consequences of one L2 going astray are mostly bounded to that
L2.
Over 200,000 ERC20
tokens have been launched on L1 so far. Supporting even 100x that
would be feasible. However, for launching ERC20s on L1 to be a popular
option, it needs to be cheap. Let's take eg. the Railgun token (a major
privacy
protocol). Here
is its deployment transaction. It cost 1.647 million gas, which is
$61.76 under our assumptions. For a company, this cost is fine as-is. In
principle, this could be optimized a lot, especially for projects that
launch lots of tokens with the same logic. However, even if we get the
cost down to 120000 gas, it's still $4.5.
If we give ourselves the goal of eg. bringing Polymarket to L1 (at least asset
issuance; trading can still happen on L2s), and we want lots
of micro-markets happening, then following our target goal above of
$0.25, we would need to scale L1 by ~18x.
Keystore wallet operations

Keystore
wallets are a type of wallet that has modifiable verification logic
(for changing keys, signature algorithms, etc) that automatically
propagates across all L2s. The verification logic sits on L1, and L2s
use synchronous reads (eg. L1SLOAD,
REMOTESTATICCALL)
to read the logic. Keystore wallets can be done with the
verification logic on an L2, but this adds a lot more complexity.
Suppose that each user needs to do a key change or account upgrade
operation once a year, and we have 3.1 billion users. If each operation
costs 50,000 gas, then we get a gas consumption per slot of
50000 * 3100000000 / (31556926 / 12) ~= 59 million
, about
3.3x the current target.
We could optimize very hard, but making key chance
operations initiated on L2, but stored on L1 (credit
the
Scroll team for this idea). This would reduce gas consumption to
potentially a storage write and a little more (let's once again say 7500
gas), which would allow keystore updates to be made with about half of
Ethereum's current gas capacity.
We can also estimate the cost of a keystore operation:
7500 * 15 * 10**-9 * 2500 = $0.28
From this perspective, a 1.1x increase would be sufficient to make
keystore wallets sufficiently affordable.
L2 proof submission
For cross-L2 interoperability to be fast and general-purpose
and trustless, we need L2s to frequently post to L1, so that
they can be directly aware of each other's state. To get optimally low
latency, L2s need to commit to L1 every slot.
With today's technology (ZK-SNARKs), this is a cost of ~500,000 per
L2, and so Ethereum would only be able to support 36 L2s (compare:
L2beat tracks about
150, including validiums and optimiums). But what's more important
is that it is too economically unviable to do this: at an approximate
long-term average gas price of 15 gwei and an ETH price of $2500,
the cost per year of submitting is
500000 * 15 * 10**-9 * (31556926 / 12) * 2500 = $49M per year
. If we used aggregation
protocols, the cost could again drop, in the limit perhaps about
10,000 gas per submission because the aggregation mechanism is somewhat
more complex than just updating a single storage slot. This would make
submission cost about $1M per year per L2.

Ideally, we want submitting to L1 every slot to be a no-brainer.
Doing that would again require significant L1 capacity increases. $100k
per year is a reasonably small cost for an L2 team, $1m per year is
not.
Conclusion
We can put the above use cases into a table as follows:
Censorship resistance |
< 0.01x |
< 0.01x |
~4.5x |
Cross-L2 asset movements |
278x |
5.5x |
~6x |
L2 mass exits |
3 - 117x |
1 - 9x |
~1 - 16.8x |
Issuing ERC20s |
< 0.01x |
< 0.01x |
~1 - 18x |
Keystore wallet operations |
3.3x |
0.5x |
~1.1x |
L2 proof submission |
4x |
0.08x |
~10x |
Keep in mind that the first and second columns are additive, eg. if
keystore wallet operations are taking up half the current gas
consumption, there needs to be enough space to run an L2 mass exit
on top of that.
Additionally, keep in mind once again that the cost-based estimates
are extremely approximate. Demand elasticity (how much gas
costs respond to gas limit changes, especially in the long run) are very
hard to estimate, and on top of that there is a lot of uncertainty in
how the fee market will evolve even given a fixed level of usage.
Altogether, this analysis shows that there is significant value to
~10x scaling of L1 gas even in an L2-dominated world. This in turn
implies that short-term L1 scaling that can be done in the next 1-2
years is valuable regardless of what the long-term picture ends up
looking like.
Reasons to have higher L1 gas limits even in an L2-heavy Ethereum
2025 Feb 14 See all postsSpecial thanks to Ansgar Dietrichs for feedback and review
One important near-term debate in the Ethereum roadmap is the question of how much to increase the L1 gas limit. Recently, the L1 gas limit was increased from 30 million to 36 million, increasing capacity by 20%. Many support following up with much larger increases in the near future. These increases are made safe by recent and upcoming improvements in technology: efficiency improvements to Ethereum clients, reduced need to store old history due to EIP-4444 (see roadmap), and later on stateless clients.
However, before we go down this path, it's important to ask a question: in the context of the rollup-centric roadmap, are higher L1 gas limits the right thing to do in the long term? Gas limits are easy to increase, but difficult to decrease - and even if you do decrease them later, the consequences to centralization may well be permanent. We do not want to end up with the centralization risks of heavy L1 usage without actually being sure that we will benefit from that usage.
This post will argue that, even in a world where most usage and applications are on L2, there is value in significantly scaling, because it enables simpler and more secure patterns of application development. This post will not attempt to argue for or against a claim that more applications in general should be on L1 even in the long term. Rather, the goal is to argue that eg. ~10x scaling on L1 has long-term value regardless of the outcome of that debate.
Censorship resistance
The goal is to resist censorship.
One of the core value propositions of a blockchain is censorship resistance: if a transaction is valid, and you have the funds to pay a market-rate fee, you should be able to reliably get that transaction included onchain, quickly.
In some cases, censorship resistance is needed even on short timescales: if you have a position in a defi protocol, and prices are changing very quickly, then even a 5 minute delay in getting a transaction included could be enough to get you liquidated.
The staker set of the L1 is highly decentralized, making it very difficult to censor a transaction for more than a few slots. There are proposals to improve this property of Ethereum even further, guaranteeing censorship resistance even in cases where eg. block building is highly centralized and outsourced. L2s, on the other hand, rely on either a much more concentrated set of block producers, or a centralized sequencer, which can easily choose to censor users. Some L2s (eg. see Optimism, Arbitrum documentation) do have a force-inclusion mechanism to allow users to submit transactions directly through the L1. Hence, the practical value of the censorship resistance guarantee is dependent on (i) L1 fees being sufficiently low, and (ii) L1 having enough space that users can send bypass transactions even if an L2 censors a large number of users en masse.
Basic mathematical assumptions
We can do some math to compute how expensive it is to actually use the force-inclusion mechanism. First, let's state some assumptions, which we will also reuse in other sections:
Given these assumptions, today bypassing censorship would cost
120000 * 15 * 10**-9 * 2500 = $4.5
. To push it below our target, we would need to scale L1 by 4.5x (though note that this is a very rough estimate, because elasticity is so hard to estimate, and even absolute usage levels are hard to estimate).Need to move assets between L2s
Often, users will need to move assets from one L2 to another. For commonly-traded high-volume assets, the most practical way to do this is intent protocols such as ERC-7683. Only a small number of market makers need to actually do direct movements from one L2 to another; everyone else simply trades against the market makers. For low-volume assets or NFTs, however, this is not possible, and so to move such assets from one L2 to another, individual users would need to send transactions through L1.
Today, a withdrawal costs ~250,000 L1 gas and a deposit another 120,000 L1 gas. Theoretically, this flow can be optimized quite a bit. To move an NFT eg. from Ink to Arbitrum, the underlying ownership of the NFT has to be transferred from the Ink bridge to the Arbitrum bridge on L1. This is a storage operation and costs only ~5000 gas. Everything else is "just" calls and proofs and with the right logic can be made cheap; let's say a total cost of 7500 gas.
Let's calulate the cost in both cases.
Today:
370000 * 15 * 10**-9 * 2500 = $13.87
With ideal design:
7500 * 15 * 10**-9 * 2500 = $0.28
Our ideal goal is $0.05, so this implies a need to scale 5.5x.
Alternatively, we can analyze more directly based on capacity. Suppose that each user needs to do a cross-L2 transfer of an NFT (or rare ERC20) on average once a month. Ethereum's total gas capacity for a month is
18000000 * (86400 * 30 / 12) = 3.88 trillion
, or enough for 518 million such transfers. Hence, if Ethereum wanted to serve the whole world (eg. take Facebook's user count of 3.1 billion), it would need to expand capacity by ~6x, and that's if that's the only thing L1 was for.L2 mass exits
One of the important properties that L2s have, that "alt L1s" do not, is the ability to exit to the L1 if the L2 breaks. What if all users are not able to get out within a one-week window? In optimistic rollups, this may actually be fine: a single honest actor can prevent bad state roots from being confirmed indefinitely. In plasma systems, however, there is often a need to get out within one week if data becomes unavailable. And even in optimistic rollups, a hostile governance upgrade gives users a 30 day timeline (see: stage 2 definition) to withdraw their assets.
What does this imply? Well, suppose that a single Plasma chain breaks, and an exit costs 120000 gas. How many users will be able to exit within a week? We can compute:
86400 * 7 / 12 * 18000000 / 120000 = 7.56 million
users. If it's an optimistic rollup with a hostile 30-day-delayed governance upgrade, that increases to32.4 million
users. Conceivably, you could create a mass-exit protocol that allows many users to exit at the same time. Suppose that we push efficiency to the limit, and you only need to do one single SSTORE and a little more (so, 7500 gas) per user. Then, the two numbers increase to121 million
and518 million
, respectively.Sony has an L2 on Ethereum today. Sony's Playstation has about 116 million monthly active users. If all those users were to become Soneium users, then Ethereum today would not be scalable enough to support a mass exit event. However, if we implement much more clever mass exit protocols, it just barely would be.
If we want to avoid technically complex hash-commit protocols, we may want to have space for 7500 gas per asset. I currently have 9 assets of significant value on my primary wallet on Arbitrum; if you take that as an estimate, then L1 potentially needs to scale by ~9x.
The other concern for users is that even if they can scale safely, they would lose a lot of money to very high gas costs.
Let's analyze the gas costs, using both present-day and "ideal" costs for an exit:
120000 * 15 * 10**-9 * 2500 = $4.5
7500 * 15 * 10*-9 * 2500 = $0.28
The problem with these estimates, however, is that in a mass exit situation, everyone would be trying to exit at the same time, and so gas costs would be significantly higher. We have seen entire days where the L1's average daily gas cost goes above 100 gwei. If we take 100 gwei as a baseline, then we get a withdrawal cost of $1.88, implying a need for L1 to scale 1.9x to handle exits affordably (under $1). Note also that if you want users to be able to exit all their assets at once, without needing technically complex hash-commit protocols, then that may imply 7500 gas per asset., then withdrawal costs increase to either $2.5 or $16.8, depending on your parameters, with corresponding implications to how much L1 needs to scale to keep withdrawals affordable.
Issuing ERC20s on L1
Many tokens are being launched on L2s today. This has an underrated security concern: if an L2 goes through a hostile governance upgrade, then an ERC20 launched on that L2 could start issuing an unlimited number of new tokens, and there would be no way to stop those tokens from leaking into the rest of the ecosystem. If a token is issued on L1, the consequences of one L2 going astray are mostly bounded to that L2.
Over 200,000 ERC20 tokens have been launched on L1 so far. Supporting even 100x that would be feasible. However, for launching ERC20s on L1 to be a popular option, it needs to be cheap. Let's take eg. the Railgun token (a major privacy protocol). Here is its deployment transaction. It cost 1.647 million gas, which is $61.76 under our assumptions. For a company, this cost is fine as-is. In principle, this could be optimized a lot, especially for projects that launch lots of tokens with the same logic. However, even if we get the cost down to 120000 gas, it's still $4.5.
If we give ourselves the goal of eg. bringing Polymarket to L1 (at least asset issuance; trading can still happen on L2s), and we want lots of micro-markets happening, then following our target goal above of $0.25, we would need to scale L1 by ~18x.
Keystore wallet operations
Keystore wallets are a type of wallet that has modifiable verification logic (for changing keys, signature algorithms, etc) that automatically propagates across all L2s. The verification logic sits on L1, and L2s use synchronous reads (eg. L1SLOAD, REMOTESTATICCALL) to read the logic. Keystore wallets can be done with the verification logic on an L2, but this adds a lot more complexity.
Suppose that each user needs to do a key change or account upgrade operation once a year, and we have 3.1 billion users. If each operation costs 50,000 gas, then we get a gas consumption per slot of
50000 * 3100000000 / (31556926 / 12) ~= 59 million
, about 3.3x the current target.We could optimize very hard, but making key chance operations initiated on L2, but stored on L1 (credit the Scroll team for this idea). This would reduce gas consumption to potentially a storage write and a little more (let's once again say 7500 gas), which would allow keystore updates to be made with about half of Ethereum's current gas capacity.
We can also estimate the cost of a keystore operation:
7500 * 15 * 10**-9 * 2500 = $0.28
From this perspective, a 1.1x increase would be sufficient to make keystore wallets sufficiently affordable.
L2 proof submission
For cross-L2 interoperability to be fast and general-purpose and trustless, we need L2s to frequently post to L1, so that they can be directly aware of each other's state. To get optimally low latency, L2s need to commit to L1 every slot.
With today's technology (ZK-SNARKs), this is a cost of ~500,000 per L2, and so Ethereum would only be able to support 36 L2s (compare: L2beat tracks about 150, including validiums and optimiums). But what's more important is that it is too economically unviable to do this: at an approximate long-term average gas price of 15 gwei and an ETH price of $2500, the cost per year of submitting is
500000 * 15 * 10**-9 * (31556926 / 12) * 2500 = $49M per year
. If we used aggregation protocols, the cost could again drop, in the limit perhaps about 10,000 gas per submission because the aggregation mechanism is somewhat more complex than just updating a single storage slot. This would make submission cost about $1M per year per L2.Ideally, we want submitting to L1 every slot to be a no-brainer. Doing that would again require significant L1 capacity increases. $100k per year is a reasonably small cost for an L2 team, $1m per year is not.
Conclusion
We can put the above use cases into a table as follows:
Keep in mind that the first and second columns are additive, eg. if keystore wallet operations are taking up half the current gas consumption, there needs to be enough space to run an L2 mass exit on top of that.
Additionally, keep in mind once again that the cost-based estimates are extremely approximate. Demand elasticity (how much gas costs respond to gas limit changes, especially in the long run) are very hard to estimate, and on top of that there is a lot of uncertainty in how the fee market will evolve even given a fixed level of usage.
Altogether, this analysis shows that there is significant value to ~10x scaling of L1 gas even in an L2-dominated world. This in turn implies that short-term L1 scaling that can be done in the next 1-2 years is valuable regardless of what the long-term picture ends up looking like.