-
Notifications
You must be signed in to change notification settings - Fork 48
design doc: add fusaka on L2 #354
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
base: main
Are you sure you want to change the base?
Conversation
| We propose adopting a constant cap that matches L1: 16,777,216 gas (2^24). | ||
| This is the simplest option that maximizes Ethereum equivalence. | ||
| If there is a strong need for a different cap or flexibility in setting the cap, that can be considered in future hardforks. |
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.
I agree. There's a lot of value in maximizing Eth equivalence.
The one exception I propose to make here is for deposit transactions. These should be excluded from the gas limit. This makes it easier to any future crazy upgrade txs to not need to work around such a limit, like the L2CM migration.
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.
I feel this is also somewhat related to #351 (comment)
Can we add a way for the EL to check that a deposit tx is an upgrade transaction, and not subtract the upgrade transaction's gas used from the block gas limit? That way inclusion is guaranteed.
|
|
||
| The OP Stack already has a `p256Verify` precompile added in Fjord as specified in [RIP-7212](https://github.com/ethereum/RIPs/blob/bd9b89f0b02d26a579ef8972431bc93540314dd4/RIPS/rip-7212.md). | ||
| Both use the same `0x100` address ([L1](https://github.com/ethereum-optimism/op-geth/blob/aa940538653c59df97b432bc24a2a4e4b17a06a8/core/vm/contracts.go#L168), [L2](https://github.com/ethereum-optimism/op-geth/blob/aa940538653c59df97b432bc24a2a4e4b17a06a8/core/vm/contracts.go#L190)), but the L1 version costs [more gas](https://github.com/ethereum-optimism/op-geth/blob/aa940538653c59df97b432bc24a2a4e4b17a06a8/params/protocol_params.go#L181-L182) (3450 vs. 6900). | ||
| We propose increasing the L2 gas amount to the L1 gas amount. This maintains the OP Stack's strict equivalence with L1 opcode and precompile costs that limits impact on tooling and maximizes forward-compatibility. |
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.
Also agree, Eth equivalence is valuable and I don't see why the cost needs to stay at the old value. The old cost was just chosen as a best guess back then.
| | EIP | Why irrelevant? | | ||
| |-----|-----------------| | ||
| | [7594 PeerDAS](https://eips.ethereum.org/EIPS/eip-7594) | Blob optimization | | ||
| | [7892 BPO Forks](https://eips.ethereum.org/EIPS/eip-7892) | Blob optimization | | ||
| | [7917 Deterministic Proposer Lookahead](https://eips.ethereum.org/EIPS/eip-7917) | L1 CL detail | | ||
| | [7918 Bounded Blob Base Fee](https://eips.ethereum.org/EIPS/eip-7918) | Blob optimization | | ||
| | [7935 Raise Default Gas Limit](https://eips.ethereum.org/EIPS/eip-7935) | OP Stack operator can set the block gas limit | | ||
| | [7934 RLP EL Block Size Limit](https://eips.ethereum.org/EIPS/eip-7934) | Sequencer policy is sufficient | |
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.
Thanks for listing all the irrelevant ones and why they are irrelevant!
No description provided.