Skip to content
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

Superchain Registry docs #1125

Merged
merged 19 commits into from
Dec 24, 2024
Merged
Show file tree
Hide file tree
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 pages/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,19 @@
"display": "children"
},

"+++ THE SUPERCHAIN": {
"title": "",
"type": "separator"
},
"--- THE SUPERCHAIN": {
"title": "THE SUPERCHAIN",
"type": "separator"
},
"superchain": {
"title": "The Superchain",
"display": "children"
},

"+++ OP STACK": {
"title": "",
"type": "separator"
Expand Down
2 changes: 1 addition & 1 deletion pages/builders/chain-operators/hacks/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Callout } from 'nextra/components'

Welcome to OP Stack Hacks, the **highly experimental** region of the OP Stack docs. OP Stack Hacks are an unofficial guide for messing around with the OP Stack. Here you'll find information about ways that the OP Stack can be modified in interesting ways.

OP Stack Hacks create blockchains that aren't exactly OP Stack, and may be insecure. Hacked OP Stack chains can break key invariants that are required to interoperate with [the Optimism Superchain](/stack/explainer). **Developers of chains that wish to interoperate with [the Optimism Superchain](/stack/explainer) should *not* include any hacks**. When in doubt, stick with the official components within [the current release of the OP Stack](/stack/getting-started#the-op-stack-today).
OP Stack Hacks create blockchains that aren't exactly OP Stack, and may be insecure. Hacked OP Stack chains can break key invariants that are required to interoperate with [the Optimism Superchain](/superchain/superchain-explainer). **Developers of chains that wish to interoperate with [the Optimism Superchain](/superchain/superchain-explainer) should *not* include any hacks**. When in doubt, stick with the official components within [the current release of the OP Stack](/stack/getting-started#the-op-stack-today).

<Callout type="warning">
OP Stack Hacks are explicitly things that you can do with the OP Stack that are *not* currently intended for production use.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ You can use this testnet to experiment and perform tests, or you can choose to m
You don't need permission from anyone to modify or deploy the stack in any configuration you want.

<Callout type="warning">
Modifications to the OP Stack may prevent a chain from being able to benefit from aspects of the [Optimism Superchain](/stack/explainer).
Make sure to check out the [Superchain Explainer](/stack/explainer) to learn more.
Modifications to the OP Stack may prevent a chain from being able to benefit from aspects of the [Optimism Superchain](/superchain/superchain-explainer).
Make sure to check out the [Superchain Explainer](/superchain/superchain-explainer) to learn more.
</Callout>

## Software dependencies
Expand Down
2 changes: 1 addition & 1 deletion pages/chain/testing/dev-node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ anyone to modify or deploy the stack in any configuration you want.

<Callout type="warning">
Modifications to the OP Stack may prevent a chain from being able to benefit from aspects of the [Optimism
Superchain](/stack/explainer). Make sure to check out the [Superchain Explainer](/stack/explainer) to learn more.
Superchain](/superchain/superchain-explainer). Make sure to check out the [Superchain Explainer](/superchain/superchain-explainer) to learn more.
</Callout>

## Installing Dependencies
Expand Down
2 changes: 1 addition & 1 deletion pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,5 @@ We've got you covered with these detailed guides to help you learn all about Opt

<Card title="About the OP Stack" href="/stack/getting-started" icon={<img src="img/icons/book.svg" />} />

<Card title="About the Superchain" href="/stack/explainer" icon={<img src="img/icons/book.svg" />} />
<Card title="About the Superchain" href="/superchain/superchain-explainer" icon={<img src="img/icons/book.svg" />} />
</Cards>
2 changes: 1 addition & 1 deletion pages/stack/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Optimism Bedrock is the current iteration of the OP Stack.
The Bedrock release provides the tools for launching a production-quality Optimistic Rollup blockchain.
At this point in time, the APIs for the different layers of the OP Stack are still tightly coupled to this Rollup configuration of the stack.

The OP Stack of today was built to support [the Optimism Superchain](/stack/explainer), a proposed network of L2s that share security, communication layers, and a common development stack (the OP Stack itself).
The OP Stack of today was built to support [the Optimism Superchain](/superchain/superchain-explainer), a proposed network of L2s that share security, communication layers, and a common development stack (the OP Stack itself).
The Bedrock release of the OP Stack makes it easy to spin up an L2 that will be compatible with the Superchain when it launches.
If you'd like to launch a Superchain-ready L2, check out our guide for running a chain based on the Bedrock release of the OP Stack.

Expand Down
5 changes: 5 additions & 0 deletions pages/superchain/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"superchain-explainer": "The Superchain explainer",
"superchain-registry": "The Superchain Registry",
"blockspace-charter": "Blockspace Charters and the Standard Rollup Charter"
}
112 changes: 112 additions & 0 deletions pages/superchain/blockspace-charter.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
title: Blockspace and Standard Rollup Charters
lang: en-US
description: Learn about Blockspace Charters, the Standard Rollup Charter, and the Superchain Registry.
---

# The Blockspace and Standard Rollup charters

Blockspace Charters provide the essential technical and governance framework for the Superchain ecosystem. These frameworks provide a secure and scalable foundation for all stakeholders. By adhering to these charters, chain operators and users can operate confidently within the Superchain ecosystem. The Standard Rollup Charter is the first of several blockspace charters with different customizations and security guarantees.

These documents establish standards to ensure security, transparency, and long-term sustainability. This guide offers an overview of each charter, explains how chains can achieve compliance to be considered Standard Chains, and how the charters tie into the Superchain Registry.

This doc mostly covers the charters, but references the Superchain Registry as they are all deeply connected. Read more about the Superchain Registry [here](/superchain/superchain-registry).

## Summary of charters

The components work in unison to form a cohesive governance and technical framework:

* **Blockspace Charters:** A type of framework that establishes criteria, governing policies, and precommitments for blockspace in the Optimism ecosystem, ensuring security, uptime, and alignment with the [Law of Chains](https://github.com/ethereum-optimism/OPerating-manual/blob/main/Law%20of%20Chains.md).
* **Standard Rollup Charter:** The Standard Rollup Charter is the first blockspace charter, defining the technical and governance requirements for our highest-security blockspace. By adhering to the Standard Rollup Charter, chains can achieve "Standard" status, ensuring consistency, high security, and operational reliability.
* **Superchain Registry:** The Superchain Registry is an index of chains which serves as the source of truth for who's in the Superchain ecosystem and the chain's configuration. The registry checks for compliance with the Standard Rollup Charter. Chains with `superchain_level = 1` meet all the criteria to be classified as a Standard Rollup.

Together, these components ensure a robust, scalable, and transparent ecosystem. Blockspace Charters provide the vision and principles, the Standard Rollup Charter translates these into concrete requirements, and the Superchain Registry certifies compliance.

## Blockspace Charters

Blockspace Charters outline the foundational framework for governing blockspace within the Optimism ecosystem.

They are structured around three main components, detailed below:

### Criteria
bradleycamacho marked this conversation as resolved.
Show resolved Hide resolved

The technical parameters defining which chains are subject to the charter include:

* **Version:** The OP Stack version powering the chain, validated via commit-hash or release tag.
* **Configuration:** Parameter bounds for deployment, covering both static variables like Chain ID and dynamic variables such as sequencer roles or upgrade keys.
* **Solvency:** Verification that all state transitions in the chain's history are valid, and free from invalid withdrawals or outputs that could undercollateralize the bridge.

### Governing policies

These establish rules and procedures for stakeholder interactions and blockspace management. For example:

* Expected behaviors for roles like sequencers and upgrade key holders.
* Processes for identifying and resolving violations, such as governance votes for removing non-compliant actors.
* Alignment with the [Law of Chains](https://github.com/ethereum-optimism/OPerating-manual/blob/main/Law%20of%20Chains.md), ensuring user protections like censorship resistance and security.

### Precommitments

Commitments outlining long-term governance stability and anticipated changes. Examples include:

* Future updates to fee models or role separations.
* Guidance for evolving technical parameters like gas limits and fee margins.

By defining these components, blockspace charters ensures secure, scalable, and governed blockspace while fostering trust and alignment within the ecosystem.

### Criteria governance

The criteria for Blockspace Charters are set in two ways; either by a governance vote or by the Optimism Foundation.

* **Governance controlled**: The three `TOML` files referenced in the charter ([standard config params](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-config-params-mainnet.toml), [standard config roles](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-config-roles-mainnet.toml), and [standard versions](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-versions-mainnet.toml)) require a governance vote to alter. Changes to the files require a governance vote, but changes to code or tools that consume or validate them don't "so long as they do not violate the semantic interpretation of those TOML files."
* **Foundation discretion**: Changes to validation, outside of the three TOML files referenced above, remain at the Foundation's discretion. This includes changes to, but is not limited to, `BHIC`, other config checks, and RPC availability.

Read more about Blockspace Charters in the [governance post](https://gov.optimism.io/t/season-6-introducing-blockspace-charters-superchain-first-governance/8133).

## The Standard Rollup Charter

The Standard Rollup Charter is the blockspace charter that defines the requirements for being a standard chain, our highest-security flagship blockspace. The Standard Rollup Charter ensures that chains adhere to the technical and operational benchmarks necessary to maintain the highest standards of security, compatibility, and compliance in the Superchain.

Learn more about The Standard Charter in [the governance post](https://github.com/ethereum-optimism/OPerating-manual/blob/feat/standard-rollup-charter/Standard%20Rollup%20Charter.md#standard-rollup-charter).

Here are some specific criteria a chain must meet:

### Onchain criteria

* **Version validation:** Chains must deploy a governance-approved, up-to-date OP Stack release. Contracts must match the [standard bytecode](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-versions-mainnet.toml).
* **Configuration checks:** Chain parameters, such as block time and gas metering, must comply with governance-approved specifications. Administrative roles must align with Security Council requirements.

Read more about onchain checks in the [repo](https://github.com/ethereum-optimism/OPerating-manual/blob/feat/standard-rollup-charter/Standard%20Rollup%20Charter.md#onchain-criteria).

### Off-chain criteria

The Optimism Foundation performs off-chain checks to verify compliance. These include:

* Ensuring unique Chain IDs.
* Monitoring security configurations.
* Verifying governance authenticity.

Such measures remain under the Foundation's oversight until governance transitions to fully autonomous control.

Read more about Off-Chain checks in the [repo](https://github.com/ethereum-optimism/OPerating-manual/blob/feat/standard-rollup-charter/Standard%20Rollup%20Charter.md#offchain-criteria)

### History integrity

The history integrity check identifies discrepancies in chain history, including invalid state transitions. These checks are only required for chains that have not been managed by the Optimism Security Council from launch.

### Understanding chain compliance

Chains must meet strict requirements to qualify as "Standard." Below are answers to common questions:

* **Can I modify system smart contracts and remain Standard?** No, modifications invalidate compliance.
* **Is a custom gas token chain Standard?** No, standard chains must use ethereum as their gas token.
* **Is an alt-DA mode chain Standard?** No, Standard Rollups must adhere to the default data availability model.
* **Will beta features qualify as Standard?** No. Beta features have not yet been approved by Optimism Governance. When features graduate from Beta to GA, they may be included in the standard rollup charter.

## The Superchain Registry

The Superchain Registry serves as the source of truth for who's in the Superchain Ecosystem and what modifications they've made. The Superchain Registry has two main tasks:

* **Validates version and configuration:** The registry validates that chains align with governance-approved standards in the form of the Standard Rollup Charter.
* **Indicates adherence to the Standard Rollup Charter:** Once the registry validates that a chain meets the standard criteria, it promotes it to "Standard" by setting its `superchain_level` value to `1`.

By integrating with the Standard Rollup Charter, the registry offers an automated and transparent validation system. This ensures chains can independently demonstrate compliance. For additional details, refer to the [Superchain Registry documentation](/superchain/superchain-registry).
File renamed without changes.
31 changes: 31 additions & 0 deletions pages/superchain/superchain-registry.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: The Superchain Registry
lang: en-US
description: Learn about the members of the Optimism Superchain ecosystem.
---

import { Callout } from 'nextra/components'

# The Superchain Registry

The Superchain Registry serves as the source of truth for who's in the Superchain Ecosystem and what modifications they've made. The Superchain Registry introduces:

* A step-by-step process new chains can follow to join the Registry
* Validation checks to ensure standard chains comply with the Standard Rollup Charter and non-standard chains pass baseline validation before joining the Superchain Registry
* A Superchain Registry repository that shows who's in the registry and the chain's configuration. Chains with `superchain_level = 1` have proven that they follow the Standard Rollup Charter, and can be classified as a Standard Rollup.

## The Standard Rollup

An OP Stack Standard Rollup follows the Standard Rollup Charter.

This configuration targets the Optimism Collective's highest bar for security, uptime, and decentralization.

You can find more details in the [Standard Rollup Charter documentation](/superchain/blockspace-charter).

<Callout type="info">
We **strongly** recommend using the [op-deployer](/builders/chain-operators/tools/op-deployer) to deploy L1 contracts and generate the L2 genesis file that meet the configuration requirements outlined in the [Standard Rollup Charter](/superchain/blockspace-charter).
</Callout>

## Joining the Registry

All Superchain Ecosystem members are welcome to join the Superchain Registry, regardless of whether they adhere to the standard rollup charter or not. To join the Registry, [follow the steps in this guide](https://github.com/ethereum-optimism/superchain-registry/blob/main/docs/add-chain.md) to submit a pull request and join the Superchain Ecosystem. This guide will help you set up your chain, create your environment, and run all the validation checks needed to ensure your chain is ready to join the Registry.
3 changes: 2 additions & 1 deletion public/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,5 @@
/stack/interop/superchain-weth /stack/interop/assets/superchain-weth
/stack/interop/transfer-superchainERC20 /stack/interop/assets/transfer-superchainERC20
/builders/app-developers/contracts/superchain-erc20 /stack/interop/assets/superchain-erc20
/builders/chain-operators/tutorials/sdk /builders/app-developers/overview
/builders/chain-operators/tutorials/sdk /builders/app-developers/overview
/stack/explainer /superchain/superchain-explainer
10 changes: 9 additions & 1 deletion words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ Allocs
allocs
ANDI
Ankr
Arbitrum's
Apeworx
Arweave
Asterisc
cpengilly marked this conversation as resolved.
Show resolved Hide resolved
authrpc
Badgeholder's
Badgeholders
Expand All @@ -35,6 +37,7 @@ blocklogs
BLOCKPROFILERATE
blockprofilerate
Blockscout
Blockspace
blockspace
blocktime
BLOOMFILTER
Expand All @@ -48,6 +51,7 @@ bottlenecked
Brotli
brotli
Callouts
Cartesi
callouts
CCIP
Celestia
Expand Down Expand Up @@ -197,7 +201,6 @@ minsuggestedpriorityfee
Mintable
Mintplex
MIPSEVM
Mitigations
Monitorism
Moralis
Mordor
Expand Down Expand Up @@ -264,6 +267,8 @@ POAP
POAPs
PPROF
pprof
Precommitments
precommitments
preconfigured
Predeploy
predeploy
Expand Down Expand Up @@ -385,6 +390,7 @@ txpool
txproxy
txproxyd
uncountered
undercollateralize
Unichain
Unprotect
unsubmitted
Expand All @@ -402,10 +408,12 @@ VMODULE
vmodule
voxel
Warpcast
WAVM
xlarge
XORI
xtensibility
ZKPs
ZKVM
Zora
zora
Mitigations