Skip to content

Commit

Permalink
Merge pull request #1108 from ethereum-optimism/sb-holocene-upgrade
Browse files Browse the repository at this point in the history
holocene upgrade notice page and docs updates
  • Loading branch information
sbvegan authored Nov 20, 2024
2 parents fb39b54 + c33758e commit 104f346
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 121 deletions.
120 changes: 15 additions & 105 deletions pages/builders/node-operators/network-upgrades.mdx
Original file line number Diff line number Diff line change
@@ -1,121 +1,31 @@
---
title: Network upgrades
lang: en-US
description: Learn more about how network upgrades work and how to keep your nodes up to date.
description: Learn more about Superchain network activations.
---

import Image from 'next/image'
import { Steps, Callout } from 'nextra/components'

# Network upgrade overview

This section has information on how to upgrade your Mainnet and Testnet nodes
for new network upgrades. The network upgrade naming scheme after the Bedrock
upgrade has a geology themed name based on the next letter in the english
alphabet.
This page provides hardfork activation timestamps and links to detailed specifications.
The documentation outlines the hardfork release process.
The network upgrade naming scheme after the Bedrock upgrade follows a geology theme based on the next letter in the English alphabet.

## Activations

Network upgrades are activated by timestamps. Failing to upgrade your node
before the timestamp will cause a chain divergence. You will need to resync
your node to reconcile the chain. Optimistic activation times refer to times
that are pending governance approval.

| Upgrade | Governance Approval | [OP Mainnet Activations](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml) | [OP Sepolia Activations](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/sepolia/superchain.toml) |
| ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| [Granite](https://specs.optimism.io/protocol/granite/overview.html) | [approved](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733) | Wed Sep 11 16:00:01 UTC 2024 (`1726070401`) around block `125235812` | Mon Aug 12 16:00:00 UTC 2024 (`1723478400`) around block `15837930` |
| [Fjord](https://specs.optimism.io/protocol/fjord/overview.html) | [approved](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236) | Wed Jul 10 16:00:01 UTC 2024 (`1720627201`) around block `122514212` | Wed May 29 16:00:00 UTC 2024 (`1716998400`) around block `12597930` |
| [Ecotone](https://specs.optimism.io/protocol/ecotone/overview.html) | [approved](https://gov.optimism.io/t/upgrade-proposal-5-ecotone-network-upgrade/7669) | Thu Mar 14 00:00:01 UTC 2024 (`1710374401`) around block `117387812` | Wed Feb 21 17:00:00 UTC 2024 (`1708534800`) around block `8366130` |
| [Delta](https://specs.optimism.io/protocol/delta/overview.html) | [approved](https://gov.optimism.io/t/final-upgrade-proposal-3-delta-network-upgrade/7310) | Thu Feb 22 00:00:00 UTC 2024 (`1708560000`) around block `116480612` | Fri Dec 22 00:00:00 UTC 2023 (`1703203200`) around block `5700330` |
| [Canyon](https://specs.optimism.io/protocol/canyon/overview.html) | [approved](https://gov.optimism.io/t/final-upgrade-proposal-2-canyon-network-upgrade/7088) | Thu Jan 11 17:00:01 UTC 2024 (`1704992401`) around block `114696812` | Tue Nov 14 17:00:00 UTC 2023 (`1699981200`) around block `4089330` |
| Bedrock | ([https://gov.optimism.io/t/final-upgrade-1-bedrock-protocol-upgrade-v2/5548](https://gov.optimism.io/t/final-upgrade-1-bedrock-protocol-upgrade-v2/5548)) | Tue Jun 06 2023 16:28:23 UTC (`1686079703`) at block `105235063` | N/A |

## Summary of changes

These are the summaries of each network upgrade changes ordered by the most
recent activation. These are a reflection of the [Superchain Upgrades Specifications](https://specs.optimism.io/protocol/superchain-upgrades.html)

### [Granite](https://specs.optimism.io/protocol/granite/overview.html)

The Granite upgrade limits `bn256Pairing` precompile input size and reduces the Channel Timeout.

* [Limit `bn256Pairing` precompile input size](https://specs.optimism.io/protocol/granite/exec-engine.html#bn256pairing-precompile-input-restriction)
* [Reduce Channel Timeout to 50](https://specs.optimism.io/protocol/granite/derivation.html#reduce-channel-timeout)

### [Fjord](https://specs.optimism.io/protocol/fjord/overview.html)

The Fjord upgrade includes the RIP-7212 precompile, FastLZ gas pricing, Brotli channel compression, and several protocol parameter changes.

* [RIP-7212: Precompile for secp256r1](https://specs.optimism.io/protocol/precompiles.html#P256VERIFY)
* [Brotli channel compression](https://specs.optimism.io/fjord/exec-engine.html#fees)
* FastLZ gas pricing
* [FastLZ L1 fee cost calculation](https://specs.optimism.io/fjord/exec-engine.html#fees)
* [Upgraded GasPriceOracle to compute FastLZ](https://specs.optimism.io/fjord/derivation.html#gaspriceoracle-deployment)
* [L1 gas cost changes](https://specs.optimism.io/fjord/predeploys.html#l1-gas-usage-estimation)
* Protocol parameter changes
* [Max sequencer drift becomes constant](https://specs.optimism.io/fjord/derivation.html#constant-maximum-sequencer-drift)
* [Channel constant increases](https://specs.optimism.io/fjord/derivation.html#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size)
* [Fjord hardfork activation block](https://specs.optimism.io/fjord/derivation.html#network-upgrade-automation-transactions)

### [Ecotone](https://specs.optimism.io/protocol/ecotone/overview.html)

The Ecotone upgrade contains the Dencun upgrade from L1, and adopts EIP-4844 blobs for data-availability.

Cancun (Execution Layer):

* [EIP-1153: Transient storage opcodes](https://eips.ethereum.org/EIPS/eip-1153)
* [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844)
* [Blob transactions are disabled](https://specs.optimism.io/protocol/exec-engine.html#ecotone-disable-blob-transactions)
* [EIP-4788: Beacon block root in the EVM](https://eips.ethereum.org/EIPS/eip-4788)
* [The L1 beacon block root is embedded into L2](https://specs.optimism.io/protocol/exec-engine.html#ecotone-beacon-block-root)
* [The Beacon roots contract deployment is automated](https://specs.optimism.io/protocol/derivation.html#ecotone-beacon-block-roots-contract-deployment-eip-4788)
* [EIP-5656: MCOPY - Memory copying instruction](https://eips.ethereum.org/EIPS/eip-5656)
* [EIP-6780: SELFDESTRUCT only in same transaction](https://eips.ethereum.org/EIPS/eip-6780)
* [EIP-7516: BLOBBASEFEE opcode](https://eips.ethereum.org/EIPS/eip-7516)
* [BLOBBASEFEE always pushes 1 onto the stack](https://specs.optimism.io/protocol/exec-engine.html#ecotone-disable-blob-transactions)

Deneb (Consensus Layer): *not applicable to L2*

* [EIP-7044: Perpetually Valid Signed Voluntary Exits](https://eips.ethereum.org/EIPS/eip-7044)
* [EIP-7045: Increase Max Attestation Inclusion Slot](https://eips.ethereum.org/EIPS/eip-7045)
* [EIP-7514: Add Max Epoch Churn Limit](https://eips.ethereum.org/EIPS/eip-7514)

Data Availability (DA) upgrade:

* Blobs Data Availability: support blobs DA the [L1 Data-retrieval stage](https://specs.optimism.io/protocol/derivation.html#ecotone-blob-retrieval).
* Rollup fee update: support blobs DA in [L1 Data Fee computation](https://specs.optimism.io/protocol/exec-engine.html#ecotone-l1-cost-fee-changes-eip-4844-da)
* Auto-upgrading and extension of the [L1 Attributes Predeployed Contract](https://specs.optimism.io/protocol/deposits.html#ecotone-l1block-upgrade)
(also known as `L1Block` predeploy)

### [Delta](https://specs.optimism.io/protocol/delta/overview.html)

The Delta upgrade consists of a single consensus-layer feature: [Span Batches](https://specs.optimism.io/protocol/delta/span-batches.html).

The Delta upgrade uses a *L2 block-timestamp* activation-rule, and is specified only in the rollup-node (`delta_time`).

### [Canyon](https://specs.optimism.io/protocol/canyon/overview.html)

The Canyon upgrade contains the Shapella upgrade from L1 and some minor protocol fixes.

* [EIP-3651: Warm COINBASE](https://eips.ethereum.org/EIPS/eip-3651)
* [EIP-3855: PUSH0 instruction](https://eips.ethereum.org/EIPS/eip-3855)
* [EIP-3860: Limit and meter initcode](https://eips.ethereum.org/EIPS/eip-3860)
* [EIP-4895: Beacon chain push withdrawals as operations](https://eips.ethereum.org/EIPS/eip-4895)
* [Withdrawals are prohibited in P2P Blocks](https://specs.optimism.io/protocol/rollup-node-p2p.html#block-validation)
* [Withdrawals should be set to the empty array with Canyon](https://specs.optimism.io/protocol/derivation.html#building-individual-payload-attributes)
* [EIP-6049: Deprecate SELFDESTRUCT](https://eips.ethereum.org/EIPS/eip-6049)
* [Modifies the EIP-1559 Denominator](https://specs.optimism.io/protocol/exec-engine.html#1559-parameters)
* [Channel Ordering Fix](https://specs.optimism.io/protocol/derivation.html#reading)
* [Adds the deposit nonce & deposit nonce version to the deposit receipt hash](https://specs.optimism.io/protocol/deposits.html#deposit-receipt)
* [Deploys the create2Deployer to `0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://specs.optimism.io/protocol/predeploys.html#create2deployer)

The Canyon upgrade uses a *L2 block-timestamp* activation-rule, and is specified in both the
rollup-node (`canyon_time`) and execution engine (`config.canyonTime`). Shanghai time in the
execution engine should be set to the same time as the Canyon time.

### Bedrock

The Bedrock upgrade transitioned the OP Stack from its legacy design to a modern modular architecture. This new design separates the OP Stack into distinct consensus, execution, and settlement layers, enabling more efficient integration of future improvements and facilitating the growth of a Superchain ecosystem.
Network upgrades are activated by timestamps. Failing to upgrade your OP Stack software before the timestamp will cause a chain divergence and you will need to resync the chain. Optimistic activation times refer to times that are pending governance approval.

| Upgrade | Governance Approval | [Mainnet Activations](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml) | [Sepolia Activations](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/sepolia/superchain.toml) |
| --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| [Holocene](https://specs.optimism.io/protocol/holocene/overview.html) | TBD | TBD | Tue Nov 26 15:00:00 UTC 2024 (`1732633200`) |
| [Granite](https://specs.optimism.io/protocol/granite/overview.html) | [approved](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733) | Wed Sep 11 16:00:01 UTC 2024 (`1726070401`) around block `125235812` | Mon Aug 12 16:00:00 UTC 2024 (`1723478400`) around block `15837930` |
| [Fjord](https://specs.optimism.io/protocol/fjord/overview.html) | [approved](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236) | Wed Jul 10 16:00:01 UTC 2024 (`1720627201`) around block `122514212` | Wed May 29 16:00:00 UTC 2024 (`1716998400`) around block `12597930` |
| [Ecotone](https://specs.optimism.io/protocol/ecotone/overview.html) | [approved](https://gov.optimism.io/t/upgrade-proposal-5-ecotone-network-upgrade/7669) | Thu Mar 14 00:00:01 UTC 2024 (`1710374401`) around block `117387812` | Wed Feb 21 17:00:00 UTC 2024 (`1708534800`) around block `8366130` |
| [Delta](https://specs.optimism.io/protocol/delta/overview.html) | [approved](https://gov.optimism.io/t/final-upgrade-proposal-3-delta-network-upgrade/7310) | Thu Feb 22 00:00:00 UTC 2024 (`1708560000`) around block `116480612` | Fri Dec 22 00:00:00 UTC 2023 (`1703203200`) around block `5700330` |
| [Canyon](https://specs.optimism.io/protocol/canyon/overview.html) | [approved](https://gov.optimism.io/t/final-upgrade-proposal-2-canyon-network-upgrade/7088) | Thu Jan 11 17:00:01 UTC 2024 (`1704992401`) around block `114696812` | Tue Nov 14 17:00:00 UTC 2023 (`1699981200`) around block `4089330` |
| Bedrock | [approved](https://gov.optimism.io/t/final-upgrade-1-bedrock-protocol-upgrade-v2/5548) | Tue Jun 06 2023 16:28:23 UTC (`1686079703`) at block `105235063` | N/A |

## Upgrade process

Expand Down
2 changes: 2 additions & 0 deletions pages/builders/notices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@ import { Card, Cards } from 'nextra/components'
Documentation covering Sdk Deprecation in the Notices section of the OP Stack ecosystem.

<Cards>
<Card title="Preparing for Holocene Breaking Changes" href="/builders/notices/holocene-changes" />

<Card title="Deprecation of the Optimism SDK" href="/builders/notices/sdk-deprecation" />
</Cards>
1 change: 1 addition & 0 deletions pages/builders/notices/_meta.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"holocene-changes": "Preparing for Holocene breaking changes",
"sdk-deprecation": "Preparing for Optimism SDK deprecation"
}
Loading

0 comments on commit 104f346

Please sign in to comment.