Introducing the Canyon Hardfork

On Nov. 14 at 17:00 UTC, Superchain testnets will upgrade to Canyon! This blog post outlines all the changes coming to the Optimism ecosystem in the wake of this protocol upgrade.

Introducing the Canyon Hardfork

Optimism is excited to announce its first post-Bedrock network upgrade, titled Canyon. Canyon will activate on testnets (OP Goerli, OP Sepolia, Base Goerli, Base Sepolia, PGN Sepolia, Zora Sepolia) on Tuesday November 14th at 17:00 UTC. This network upgrade was built and implemented in collaboration with Base.

Canyon has already been successfully activated on a devnet in coordination with Conduit and Base, and we are excited to bring it to testnet next week.

In order to be activated on OP Mainnet, Base, and other mainnets in the Superchain, the Canyon hardfork must successfully pass through the Optimism governance process. Stay tuned for future announcements to find out when the governance proposal to upgrade Superchain Mainnets to Canyon passes.

Scope of upgrade

The Canyon upgrade includes Shanghai and Capella hardfork support and several minor bug fixes. Shanghai contains the following EIPS (EIP-3651: Warm COINBASE, EIP-3855: PUSH0 instruction, EIP-3860: Limit and meter initcode, EIP-4895: Beacon chain push withdrawals as operations, EIP-6049: Deprecate SELFDESTRUCT). Canyon also makes some OP Stack specific changes.

The upgrade will increase the EIP-1559 denominator from 50 to 250 in order to reduce how quickly the basefee rises when blocks are over the gas target. With EIP-1559, the basefee changes in proportion to how far the gas used is from the gas target. If there is more gas used than the target, the basefee increases, if there is less gas used than the target the basefee decreases. This upgrade reduces the rate of change of the basefee.

In addition, Canyon modifies the protocol to handle unclosed channels. Previously, only a single channel could be active at a time and if the channel was not closed, it would need to time out before progress could resume. Following the upgrade, the op-node will read the first channel that is ready.

A new field will be added to the deposit transaction receipt encoding. It modifies the encoding to fix a bug where the deposit transaction nonce was not in consensus encoding.

Finally, Canyon sets the create2Deployer bytecode (codehash is 0xb0550b5b431e30d38000efb7107aaa0ade03d48a7198a140edda9d27134468b2 at 0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2 on all OP networks). This enables developers to have access to this commonly used contract on all OP networks, not just OP Mainnet.

Node operators: upgrade your nodes!

Users should not be impacted by this testnet upgrade, aside from having access to the latest Ethereum mainnet features on all OP testnets.

Node operators will need to upgrade their nodes following the Canyon upgrade. Operators can follow the guide on this public notion doc to successfully upgrade their nodes.

Keep an eye out for OP Governance updates in the coming weeks for an announcement about the proposal to upgrade Superchain mainnets to Canyon.