-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
L1 fee throttle #1528
base: nightly
Are you sure you want to change the base?
L1 fee throttle #1528
Conversation
There are three different fees on Citrea:
Out of all three, L1 fee stands out. The reasons being:
The second property becomes very problematic when we get the sequencer to adjust fee rates however it wants. A scenario:
We have plans to make L1 fee rates trustless in the future, however, since fee rates are not a part of the Bitcoin consensus rules, there is no way to make it %100 trustless today. So instead we can construct throttling on priority fees instead. We use a similar curve and when we get closer to the DA throughput we start not including txs below some threshold. The difference here is that the priority fee is already a widely implemented feature in Ethereum (to the point that I don't know a wallet that doesn't have EIP-1559 support) and it would prevent people from overspending by sending txs when DA throughput is being reached. We already have support for tx priority fee bumping in the mempool so that's good. One possible against-argument for using priority fees in this sense is that while we are trying to limit DA usage, hence the state diff size, raising L1 fee rates made sense. Because we disincentivize increasing the state diff more. Rasiing the priority fees on the other hand, now we disincentivize regular gas usage. So an even more dramatic increase with a later start can still work I believe. |
Description
Default throttle values :
No fee increase below 0.5 threshold, then slowly increase towards 0.7 with a 1.25~ multiplier then a sharp increase to the max multiplier of 4.0.
These values were arbitrarily chosen to slowly disincentivize tx in block between 0.5 and 0.7 L1 usage and then sharply increase.
This is configurable via sequencer config https://github.com/chainwayxyz/citrea/pull/1528/files#diff-7fd132bbf4762e829ab08aac6cfc52089b4674fac321c2faf1dc961f9fbc1237
Linked Issues