Skip to content

Conversation

@joshklop
Copy link
Contributor

@joshklop joshklop commented Nov 7, 2025

No description provided.

Comment on lines +71 to +73
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.
Copy link
Member

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.

Copy link
Contributor Author

@joshklop joshklop Nov 7, 2025

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.
Copy link
Member

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.

Comment on lines +29 to +36
| 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 |
Copy link
Member

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!

@joshklop joshklop linked an issue Nov 7, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fusaka-on-l2: finalize design

3 participants