Proposal Preview: Operator Fee

Please note that this is a Proposal Preview and is not an actual proposal. It is meant to allow the Collective to provide feedback and ask questions before an official proposal is published.

Proposal Title: Operator Fee

Proposal Type: Protocol Upgrade

Executive Summary

The current fee formula for the OP Stack presents challenges for variants of the OP Stack that leverage Alt-DA, validity proving with ZK or a custom gas token.

Currently, only the totalFee for OP Stack takes into account the execution gas fee, which uses an EIP-1559 mechanism, and the L1 Data Fee.

Today, the fee formula for the OP stack is computed as totalFee = gasUsed * (baseFee + priorityFee) + l1Fee. l1Fee computes the “approximate” cost of posting data to the L1 for DA.

This fee formula presents challenges for variants of the OP stack that leverage Alt-DA, ZK proving or a custom gas token. These chains make use of different resources and the existing fee formula lacks the expressiveness necessary to properly charge users for their resource consumption.

We propose the addition of a new component to the fee formula for the OP Stack which is a first step towards better resource pricing: the Operator Fee.

Motivation

There are several variants of the OP stack that have trouble with the existing fee formula. We cover them below:

  • Alt-DA: For chains leveraging Alt-DA, the l1Fee is not an accurate measure of the DA costs for a transaction, as it is priced according to Ethereum’s DA costs. These costs are entirely separate from the pricing of an Alt-DA layer.
  • ZK Proving: For OP Stack variants that want to utilize ZK validity proofs or ZK fault proofs (for example via OP Succinct), the cost of ZK proving a transaction is a significant resource that can not be accounted for easily in the current fee structure.

Specifications

Technical details

We propose the addition of 2 new rollup operator configured scalars, collectively named the Operator Fee Parameters. These scalars are named operatorFeeScalar and operatorFeeConstant, and they factor in the fee calculation as follows:

operatorFee = operatorFeeConstant + operatorFeeScalar * gasUsed / 1e6

totalFee = operatorFee + gasUsed * (baseFee + priorityFee) + l1Fee

These scalars will be updated via the SystemConfig L1 contract. A new fee vault, the OperatorFeeVault, is added to store the operator fee.

Resources

Impact summary

This proposal is planned to be included in Isthmus, but the feature is disabled by default. In order to be able to set the operatorFeeScalar and operatorFeeConstant parmeters, the SystemConfig contract must be upgraded.

Action Plan

This upgrade requires modifications to the node software and contracts. We have been coordinating closely with the OP Labs team on the implementation, and currently have the following PR’s under review:

Once the following PR’s are reviewed and merged, these changes will be included in the Isthmus hard fork.

L2 Contract Updates

OperatorFeeVault

New fee vault to store the operator fees.

GasPriceOracle

If Isthmus is enabled, the operator fee parameters can be retrieved from the SystemConfig contract on L1.

L1Block

Includes the operator fee scalars in the L1 block.

SystemConfig Update

The SystemConfig L1 contract will get upgraded to version 2.4.0 to functions to modify the operator fee.

Conclusion

The Operator Fee mechanism enhances the OP Stack’s fee mechanism by addressing challenges in accurately pricing user fees when chains employ ZK proving, alt-DA, and custom gas tokens. Implementation work is underway, demonstrating technical feasibility. The new fee parameters will enable operators to accurately price their services while maintaining network sustainability. The operator fee is the first step in the direction of better resource pricing for OP Stack chains with custom variants.

We anticipate that further changes will need to be made to extend and improve the operator fee mechanism over time, but are confident that the inclusion of the operator fee will tangibly improve resource pricing.

We request the Collective’s approval to implement this improvement to the OP Stack’s fee mechanism.