-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Add EIP: Increase Gas Utilization Target #9354
base: master
Are you sure you want to change the base?
Conversation
File
|
The commit 4b1fc7f (as a parent of 561750b) contains errors. |
title: Increase Gas Utilization Target | ||
description: Increase the gas utilization target from 50% to 75% | ||
author: Storm Slivkoff (@sslivkoff), Toni Wahrstätter (@nerolation) | ||
discussions-to: <URL> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Link to ethmagicians
type: Standards Track | ||
category: Core | ||
created: 2025-02-10 | ||
requires: <1559> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
requires: <1559> | |
requires: 1559 |
|
||
The current parameterization of [EIP-1559](./eip-1559.md) creates a large separation between Ethereum’s average computational load and its worst case computational load. The gas utilization target is defined as 50% of the gas limit, currently 18M gas and 36M gas respectively. This relationship amplifies the worst case load to always be at least twice as large as the average load. This forces the network to accommodate burstier loads and overprovision by an extra factor of two. | ||
|
||
Closing the gap between the average case and worst case will improve the efficiency, scalability, safety of the network. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Closing the gap between the average case and worst case will improve the efficiency, scalability, safety of the network. | |
Closing the gap between the average case and worst case will improve the efficiency, scalability, and safety of the network. |
The base fee update rule is: | ||
`b_new = b_old * (1 + f(gas_used_old))` | ||
|
||
[EIP-1559](./eip-1559.md) currently specifies: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add empty line before lists
|
||
Change these functions to: | ||
- `gas_target = 0.75 * gas_limit` | ||
- `f(gas_used_old) = slope * (gas_used_old - gas_target) / gas_target` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `f(gas_used_old) = slope * (gas_used_old - gas_target) / gas_target` | |
- `f(gas_used_old) = slope * (gas_used_old - gas_target) / gas_target` where |
Change these functions to: | ||
- `gas_target = 0.75 * gas_limit` | ||
- `f(gas_used_old) = slope * (gas_used_old - gas_target) / gas_target` | ||
- if `gas_used_old <= gas_target`: `slope = 1 / 8` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- if `gas_used_old <= gas_target`: `slope = 1 / 8` | |
- `slope = 1 / 8` when `gas_used_old <= gas_target` |
Minor nitpick, I think this reads a bit better though
- `gas_target = 0.75 * gas_limit` | ||
- `f(gas_used_old) = slope * (gas_used_old - gas_target) / gas_target` | ||
- if `gas_used_old <= gas_target`: `slope = 1 / 8` | ||
- if `gas_used_old >= gas_target`: `slope = 3 / 8` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- if `gas_used_old >= gas_target`: `slope = 3 / 8` | |
- `slope = 3 / 8` when `gas_used_old > gas_target` |
Two definitions for slope
when gas_used_old = gas_target
|
||
Increasing the gas target from 50% to 75% would have the same effect on mean throughput as raising the gas limit from 36M to 54M. However, the gas target approach is much safer against DoS attacks because it does not increase the size of the worst case computational load. | ||
|
||
It would be desirable to target an even higher level of utilization than 75%. However, [EIP-1559](./eip-1559.md) requires that utilization must be able to freely move above and below the gas target, in order for utilization to be a useful indicator of demand. Putting the target near 100% makes it difficult to use utilization as an indicator of demand. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be desirable to target an even higher level of utilization than 75%. However, [EIP-1559](./eip-1559.md) requires that utilization must be able to freely move above and below the gas target, in order for utilization to be a useful indicator of demand. Putting the target near 100% makes it difficult to use utilization as an indicator of demand. | |
It would be desirable to target an even higher level of utilization than 75%. However, [EIP-1559](./eip-1559.md) requires that utilization must be able to freely move above and below the gas target in order for utilization to be a useful indicator of demand. Putting the target near 100% makes it difficult to use utilization as an indicator of demand. |
Could you quantify what 'near' is, is 75% not near?
|
||
## Security Considerations | ||
|
||
This proposal does not increase the worst case load for node clients. This allows the network to scale more safely against the threat of DoS attacks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No mention of state and history growth? Could reference state and history expiry as possible solutions. I think more should be added to this section as it is really the main concern of this EIP.
This proposal changes the gas utilization target from 50% to 75%. This will increase mean network throughput without increasing the worst case resource utilization for Denial of Service (DoS) attacks.