Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions specs/protocol/configurability.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
**Table of Contents**

- [Consensus Parameters](#consensus-parameters)
- [Resource Config](#resource-config)
- [Policy Parameters](#policy-parameters)
- [Admin Roles](#admin-roles)
- [Service Roles](#service-roles)
Expand Down Expand Up @@ -47,12 +48,24 @@ These requirements are currently a draft, pending governance approval.
| [Gas Limit](./system_config.md#gaslimit-uint64) | Gas limit of the L2 blocks is configured through the system config. | [System Config Owner](#admin-roles) | No higher than 200_000_000 gas | Chain operators are driven to maintain a stable and reliable chain. When considering to change this value, careful deliberation is necessary. |
| Genesis state | Initial state at chain genesis, including code and storage of predeploys (all L2 smart contracts). See [Predeploy](../glossary.md#l2-genesis-block). | Static | Only standard predeploys and preinstalls, no additional state. | Homogeneity & standardization, ensures initial state is secure. |
| [L2 block time](https://github.com/ethereum-optimism/optimism/blob/c927ed9e8af501fd330349607a2b09a876a9a1fb/packages/contracts-bedrock/src/L1/L2OutputOracle.sol#L105) | Frequency with which blocks are produced as a result of derivation. | [L1 Proxy Admin](#admin-roles) | 2 seconds | High security & [interoperability](../interop/overview.md) compatibility requirement, until de-risked/solved at app layer. |
| [Resource config](https://github.com/ethereum-optimism/optimism/blob/c927ed9e8af501fd330349607a2b09a876a9a1fb/packages/contracts-bedrock/src/L1/SystemConfig.sol#L338-L340) | Config for the EIP-1559 based curve used for the deposit gas market. | [L1 Proxy Admin](#admin-roles) | See [resource config table](#resource-config). | Constraints are imposed in [code](https://github.com/ethereum-optimism/optimism/blob/c927ed9e8af501fd330349607a2b09a876a9a1fb/packages/contracts-bedrock/src/L1/SystemConfig.sol#L345-L365) when setting the resource config. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the admin column right here?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ResourceConfig setter method was removed, and now the ResourceConfig can only be changed via contract upgrade, so this is correct

| [Sequencing window Size](../glossary.md#sequencing-window) | Maximum allowed batch submission gap, after which L1 fallback is triggered in derivation. | Static | 3_600 base layer blocks (12 hours for an L2 on Ethereum, assuming 12 second L1 blocktime). e.g. 12 second blocks, $3600 * 12\ seconds \div 60\frac{seconds}{minute} \div 60\frac{minute}{hour} = 12\ hours$. | This is an important value for constraining the sequencer's ability to re-order transactions; higher values would pose a risk to user protections. |
| [Start block](https://github.com/ethereum-optimism/optimism/blob/c927ed9e8af501fd330349607a2b09a876a9a1fb/packages/contracts-bedrock/src/L1/SystemConfig.sol#L184) | Block at which the system config was initialized the first time. | [L1 Proxy Admin](#admin-roles) | The block where the SystemConfig was initialized. | Simple clear restriction. |
| [Superchain target](../protocol/superchain-upgrades.md#superchain-target) | Choice of cross-L2 configuration. May be omitted in isolated OP Stack deployments. Includes SuperchainConfig and ProtocolVersions contract addresses. | Static | Mainnet or Sepolia | A superchain target defines a set of layer 2 chains which share `SuperchainConfig` and `ProtocolVersions` contracts deployed on layer 1. |

[^chain-id]: The chain ID must be globally unique among all EVM chains.

### Resource Config

| Config Property | Standard Config Requirement |
|---------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| maxResourceLimit | $2*10^7$ | |
| elasticityMultiplier | $10$ | |
| baseFeeMaxChangeDenominator | $8$ | |
| minimumBaseFee | $1*10^9$ | |
| systemTxMaxGas | $1*10^6$ | |
| maximumBaseFee | $2^{128}$-1 | |

## Policy Parameters

| Config Property | Description | Administrator | Standard Config Requirement | Notes |
Expand Down