-
Notifications
You must be signed in to change notification settings - Fork 265
Superchain Registry docs #1125
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
Merged
Merged
Superchain Registry docs #1125
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
5b8dba0
Basic nav work
bradleycamacho 1142844
Add standard config and intro
bradleycamacho 1cb4e99
"Joining the registry" section
bradleycamacho 0d0905c
Various fixes and clarifications
bradleycamacho a3457f0
Pre-review doc updates
bradleycamacho 0075ef6
Linting
bradleycamacho 875ac80
More linting
bradleycamacho 09df23a
Update words.txt
bradleycamacho 731b43f
Merge branch 'main' into superchain-registry-page
bradleycamacho 59cf1aa
Add more words to words file
bradleycamacho 7941606
Merge branch 'superchain-registry-page' of https://github.com/ethereu…
bradleycamacho 682cb9a
Fix broken link
bradleycamacho 19c15be
Superchain phrasing
bradleycamacho d2d7511
Superchain Registry feedback
bradleycamacho 1735c5f
Charters feedback updates
bradleycamacho 7e9e18b
Lint fixes
bradleycamacho 935bf1e
Add TOML file links
bradleycamacho b416fbe
Apply suggestions from code review
bradleycamacho 2598e1c
Apply suggestions from code review
sbvegan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
||
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.