Skip to content

Commit ef8dfef

Browse files
authored
Merge pull request #1534 from ethereum-optimism/upgrade-14
Upgrade 14: MT-Cannon and Isthmus L1 Contracts Notice
2 parents 2406760 + 2432983 commit ef8dfef

File tree

2 files changed

+111
-0
lines changed

2 files changed

+111
-0
lines changed

pages/notices/_meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"upgrade-14": "Upgrade 14: MT-Cannon and Isthmus L1 Contracts",
23
"upgrade-13": "Upgrade 13: OPCM and incident response improvements",
34
"blob-fee-bug": "Superchain testnets' blob fee bug",
45
"pectra-changes": "Preparing for Pectra breaking changes",

pages/notices/upgrade-14.mdx

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: Upgrade 14 MT-Cannon and Isthmus L1 Contracts
3+
description: Learn how to prepare for upgrade 14 breaking changes.
4+
lang: en-US
5+
content_type: notice
6+
topic: upgrade-14
7+
personas:
8+
- chain-operator
9+
- node-operator
10+
categories:
11+
- security
12+
- protocol
13+
- infrastructure
14+
- l1-contracts
15+
is_imported_content: 'false'
16+
---
17+
18+
import { Steps, Callout } from 'nextra/components'
19+
20+
# Upgrade 14: MT-Cannon and Isthmus L1 Contracts
21+
22+
<Callout type="info">
23+
Upgrade execution timelines are being publicly tracked in this [release management project board](https://github.com/orgs/ethereum-optimism/projects/117/views/12) and are subject to change. Here are the following expected timelines:
24+
25+
* OP Sepolia, Ink Sepolia, and Minato Sepolia upgrades are targeting **April 2nd, 2025**.
26+
* OP Mainnet, Soneium Mainnet, Ink Mainnet are expected to execute Upgrade 14 on **April 25th, 2025**.
27+
* Other Optimism governed chains' upgrades will be tracked in the release management project board.
28+
</Callout>
29+
30+
This page outlines changes related to the Upgrade 14 network upgrade for chain operators, node operators, and users of OP Stack chains. The upgrade proposal is available [here](https://gov.optimism.io/t/upgrade-proposal-14-mt-cannon-and-isthmus-l1-contracts/10123) and the governance vote is available [here](https://vote.optimism.io/).
31+
32+
If you experience difficulty at any stage of this process, please reach out to developer support.
33+
34+
## What's included in Upgrade 14
35+
36+
Upgrade 14 contains two main components:
37+
38+
* **MT-Cannon**: An upgrade to the fault proof VM that supports the MIPS-64 instruction set and multi-threaded programs, removing memory constraints for the fault proof program.
39+
* **Operator Fee**: Introduction of the first phase of a mechanism addressing challenges in accurately pricing user fees when chains employ ZK proving, alt-DA, and custom gas tokens.
40+
41+
## Technical details
42+
43+
### MT-Cannon
44+
45+
MT-Cannon is an upgrade to [Cannon](/stack/fault-proofs/cannon), the [fault proof VM](/stack/fault-proofs/fp-components#fault-proof-virtual-machine) that supports the MIPS-64 instruction set and multi-threaded programs, removing memory constraints for the fault proof program.
46+
47+
Key changes:
48+
49+
* The emulated CPU architecture is now MIPS64 instead of MIPS32
50+
* Registers now hold 64-bit values
51+
* Memory address space is dramatically expanded
52+
* New 64-bit specific instructions added for operations on 64-bit values
53+
* Supports reading 8 bytes of data at a time from the pre-image oracle instead of 4
54+
* Multithreading support
55+
* Concurrency via multitasking
56+
* VM now tracks ThreadState objects for each thread
57+
* Thread-safe memory access enabled by Load Linked Word (ll) and Store Conditional Word (sc) instructions
58+
* Extended syscall support for multi-threading
59+
* Improved exception handling for unrecognized syscalls
60+
61+
After this upgrade, the on-chain implementation of the fault proof VM will be [MIPS64.sol](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/cannon/MIPS64.sol) instead of [MIPS.sol](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/cannon/MIPS.sol).
62+
63+
### Operator Fee
64+
65+
This introduces two new rollup operator configured scalars:
66+
67+
* `operatorFeeScalar`
68+
* `operatorFeeConstant`
69+
70+
These parameters are factored into the fee calculation as follows:
71+
72+
```
73+
operatorFee = operatorFeeConstant + operatorFeeScalar * gasUsed / 1e6
74+
75+
totalFee = operatorFee + gasUsed * (baseFee + priorityFee) + l1Fee
76+
```
77+
78+
The scalars will be updated via the SystemConfig L1 contract. A new fee vault, the OperatorFeeVault, will store the operator fee. While this feature is included in the upgrade, it is disabled by default and will be enabled in a future hardfork.
79+
80+
### Absolute Prestate
81+
82+
Beginning with this upgrade, op-program absolute prestates will now use the "cannon64" variant. This upgrade includes [the absolute prestate for op-program 1.5.1-rc.1, which is `0x03ee2917da962ec266b091f4b62121dc9682bb0db534633707325339f99ee405`](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml).
83+
84+
## For chain operators
85+
86+
If this proposal is accepted, multisig ceremonies will be coordinated to execute upgrade transactions. The following transactions will be executed on the respective chains: `OP Mainnet`, `Soneium Mainnet`, `Ink Mainnet`, `Base Mainnet`, `Unichain Mainnet`, `Mode Mainnet`, `Zora Mainnet`, `Arena Z Mainnet`, `Swell Mainnet`, and `Metal Mainnet`. Depending on the current state of the chain the execution times will vary. If your Optimism governed chain is not in this list, please reach out to OP Labs Solutions Engineering to coordinate your upgrade.
87+
88+
For chain operators running fault-proof infrastructure, ensure you are running up-to-date versions of the following:
89+
90+
* op-challenger: `op-challenger/v1.3.3` (preferred) or at least `op-challenger/v1.3.1`
91+
* op-dispute-mon: `op-dispute-mon/v1.4.0`
92+
93+
## For node operators
94+
95+
Node operators should ensure they are running an up-to-date version of op-node that can handle new events emitted from the `SystemConfig` contract:
96+
97+
* op-node: `op-node/v1.12.2`
98+
99+
## Audit reports
100+
101+
The code for Upgrade 14 has undergone multiple audits:
102+
103+
* **Spearbit**: Completed an audit of MT-Cannon. Details available [here](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2025_01-MT-Cannon-Spearbit.pdf).
104+
* **Coinbase Protocol Security**: Completed an audit of MT-Cannon. Details available [here](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2025_01-MT-Cannon-Base.pdf).
105+
106+
## Emergency cancellation
107+
108+
If a critical security issue is discovered before upgrading, OP Labs will collaborate with the community to extensively communicate that the upgrade will no longer occur. The Optimism Foundation and Security Council will work to coordinate an emergency cancellation.
109+
110+
For more detailed information, please refer to the full upgrade proposal or reach out to developer support.

0 commit comments

Comments
 (0)