From 9069f5ab727484498799649da65874c9ad2bdf91 Mon Sep 17 00:00:00 2001 From: George Knee Date: Wed, 11 Dec 2024 16:56:07 +0000 Subject: [PATCH 1/3] Update Standard Rollup Charter.md --- Standard Rollup Charter.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Standard Rollup Charter.md b/Standard Rollup Charter.md index e8f4083..9be9691 100644 --- a/Standard Rollup Charter.md +++ b/Standard Rollup Charter.md @@ -23,14 +23,14 @@ The onchain criteria for Standard Rollups consist of two components: a **version ### Version Validation The most important onchain criteria is that a chain be on a standard, governance-approved release of the OP Stack. This check is performed by comparing all bytecode for the chain’s L1 smart contracts to the standard bytecode corresponding to a governance-approved release of the OP Stack. -Version validation is a strict, critical requirement. To securely hand over upgradability to the Collective, a chain’s L1 smart contracts must match the release tags defined by[ this TOML file](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-versions-mainnet.toml) in the Superchain Registry. At the time of writing, this corresponds to `op-contracts@v1.6.0`. +Version validation is a strict, critical requirement. To securely hand over upgradability to the Collective, a chain’s L1 smart contracts must match the release tags defined by [this TOML file](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-versions-mainnet.toml) in the Superchain Registry. At the time of writing, this corresponds to `op-contracts@v1.6.0`. For those interested, the code currently used in the Superchain Registry to perform version (and configuration) checks can be found[ here](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/validation_test.go). The Optimism Foundation may, from time to time, update this code (e.g. for quality-of-life improvements or other refactors), **so long as it does not violate the semantic interpretation of the above TOML files, which are subject to Governance approval**. ### Configuration Check Beyond being on a standard version of the OP Stack, all configuration values for the chain must be within high-security, well-tested bounds, and all administrative roles must be set correctly. There are two main components: -* **Parameter Configuration**: A set of requirements for the “protocol parameters” of a chain — things like block time, gas metering, and other low-level variables — to either equal a certain value, or fall within a specified range. The specific requirements can be found[ here](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-config-params-mainnet.toml). -* **Role Configuration**: A set of requirements for the privileged administrative roles for the chain. The specific requirements can be found[ here](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-config-roles-mainnet.toml). Primarily, these checks involve ensuring that the Security Council holds authorization to perform upgrades, and other minor Stage 1 requirements (see[ here](https://gov.optimism.io/t/final-protocol-upgrade-8-guardian-security-council-threshold-and-l2-proxyadmin-ownership-changes-for-stage-1-decentralization/8157)). +* **Parameter Configuration**: A set of requirements for the “protocol parameters” of a chain — things like block time, gas metering, and other low-level variables — to either equal a certain value, or fall within a specified range. The specific requirements can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-config-params-mainnet.toml). +* **Role Configuration**: A set of requirements for the privileged administrative roles for the chain. The specific requirements can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-config-roles-mainnet.toml). Primarily, these checks involve ensuring that the Security Council holds authorization to perform upgrades, and other minor Stage 1 requirements (see [here](https://gov.optimism.io/t/final-protocol-upgrade-8-guardian-security-council-threshold-and-l2-proxyadmin-ownership-changes-for-stage-1-decentralization/8157)). A more human-readable breakdown of these requirements, including supporting rationale choices, can be found in the[ configurability page](https://specs.optimism.io/protocol/configurability.html) of the OP Stack docs. However, the ultimate source of truth for configuration requirements are the two TOML files linked above, as modified from time to time by Optimism Governance. @@ -140,4 +140,4 @@ Because the OP Stack’s performance is rapidly improving, the onchain GasLimit ### Direct Fee Margin Controls -Today, the “fee margin” discussed in the relevant Governing Policy above is only indirectly influenceable via the control of multiple other configuration variables. In the future, the Collective should implement a protocol improvement which allows the margin to be set more directly, and which imposes a strict upper bound of 100%, to remove the ability to perform economic censorship even temporarily. \ No newline at end of file +Today, the “fee margin” discussed in the relevant Governing Policy above is only indirectly influenceable via the control of multiple other configuration variables. In the future, the Collective should implement a protocol improvement which allows the margin to be set more directly, and which imposes a strict upper bound of 100%, to remove the ability to perform economic censorship even temporarily. From 5bf40d1b121cb38375896d75f051879e5425a875 Mon Sep 17 00:00:00 2001 From: George Knee Date: Wed, 11 Dec 2024 16:57:28 +0000 Subject: [PATCH 2/3] Update Standard Rollup Charter.md --- Standard Rollup Charter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Standard Rollup Charter.md b/Standard Rollup Charter.md index 9be9691..b14ad92 100644 --- a/Standard Rollup Charter.md +++ b/Standard Rollup Charter.md @@ -23,7 +23,7 @@ The onchain criteria for Standard Rollups consist of two components: a **version ### Version Validation The most important onchain criteria is that a chain be on a standard, governance-approved release of the OP Stack. This check is performed by comparing all bytecode for the chain’s L1 smart contracts to the standard bytecode corresponding to a governance-approved release of the OP Stack. -Version validation is a strict, critical requirement. To securely hand over upgradability to the Collective, a chain’s L1 smart contracts must match the release tags defined by [this TOML file](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-versions-mainnet.toml) in the Superchain Registry. At the time of writing, this corresponds to `op-contracts@v1.6.0`. +Version validation is a strict, critical requirement. To securely hand over upgradability to the Collective, a chain’s L1 smart contracts must match the release tags defined by [this TOML file](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-versions-mainnet.toml) in the Superchain Registry. This corresponds to `op-contracts@v1.8.0-rc.3`. For those interested, the code currently used in the Superchain Registry to perform version (and configuration) checks can be found[ here](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/validation_test.go). The Optimism Foundation may, from time to time, update this code (e.g. for quality-of-life improvements or other refactors), **so long as it does not violate the semantic interpretation of the above TOML files, which are subject to Governance approval**. From 4f307b1950a3d0ad4d8f7255d49da5245b8291a7 Mon Sep 17 00:00:00 2001 From: George Knee Date: Wed, 11 Dec 2024 17:49:50 +0000 Subject: [PATCH 3/3] Apply suggestions from code review Following https://github.com/ethereum-optimism/superchain-registry/pull/767 --- Standard Rollup Charter.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Standard Rollup Charter.md b/Standard Rollup Charter.md index b14ad92..25311ec 100644 --- a/Standard Rollup Charter.md +++ b/Standard Rollup Charter.md @@ -23,14 +23,14 @@ The onchain criteria for Standard Rollups consist of two components: a **version ### Version Validation The most important onchain criteria is that a chain be on a standard, governance-approved release of the OP Stack. This check is performed by comparing all bytecode for the chain’s L1 smart contracts to the standard bytecode corresponding to a governance-approved release of the OP Stack. -Version validation is a strict, critical requirement. To securely hand over upgradability to the Collective, a chain’s L1 smart contracts must match the release tags defined by [this TOML file](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-versions-mainnet.toml) in the Superchain Registry. This corresponds to `op-contracts@v1.8.0-rc.3`. +Version validation is a strict, critical requirement. To securely hand over upgradability to the Collective, a chain’s L1 smart contracts must match the release tags defined by [this TOML file](https://github.com/ethereum-optimism/superchain-registry/blob/9095778d45a5066649890ee838f87b27062a0d4d/validation/standard/standard-versions-mainnet.toml) in the Superchain Registry. This corresponds to `op-contracts@v1.8.0-rc.3`. For those interested, the code currently used in the Superchain Registry to perform version (and configuration) checks can be found[ here](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/validation_test.go). The Optimism Foundation may, from time to time, update this code (e.g. for quality-of-life improvements or other refactors), **so long as it does not violate the semantic interpretation of the above TOML files, which are subject to Governance approval**. ### Configuration Check Beyond being on a standard version of the OP Stack, all configuration values for the chain must be within high-security, well-tested bounds, and all administrative roles must be set correctly. There are two main components: -* **Parameter Configuration**: A set of requirements for the “protocol parameters” of a chain — things like block time, gas metering, and other low-level variables — to either equal a certain value, or fall within a specified range. The specific requirements can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-config-params-mainnet.toml). -* **Role Configuration**: A set of requirements for the privileged administrative roles for the chain. The specific requirements can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/a3a7f2e1df081125e3d1fe9ff4a24ff5aaa238a8/validation/standard/standard-config-roles-mainnet.toml). Primarily, these checks involve ensuring that the Security Council holds authorization to perform upgrades, and other minor Stage 1 requirements (see [here](https://gov.optimism.io/t/final-protocol-upgrade-8-guardian-security-council-threshold-and-l2-proxyadmin-ownership-changes-for-stage-1-decentralization/8157)). +* **Parameter Configuration**: A set of requirements for the “protocol parameters” of a chain — things like block time, gas metering, and other low-level variables — to either equal a certain value, or fall within a specified range. The specific requirements can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/9095778d45a5066649890ee838f87b27062a0d4d/validation/standard/standard-config-params-mainnet.toml). +* **Role Configuration**: A set of requirements for the privileged administrative roles for the chain. The specific requirements can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/9095778d45a5066649890ee838f87b27062a0d4d/validation/standard/standard-config-roles-mainnet.toml). Primarily, these checks involve ensuring that the Security Council holds authorization to perform upgrades, and other minor Stage 1 requirements (see [here](https://gov.optimism.io/t/final-protocol-upgrade-8-guardian-security-council-threshold-and-l2-proxyadmin-ownership-changes-for-stage-1-decentralization/8157)). A more human-readable breakdown of these requirements, including supporting rationale choices, can be found in the[ configurability page](https://specs.optimism.io/protocol/configurability.html) of the OP Stack docs. However, the ultimate source of truth for configuration requirements are the two TOML files linked above, as modified from time to time by Optimism Governance.