> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optimism.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade 16 Interop 프로토콜 업그레이드 준비

> Upgrade 16 프로토콜 변경 사항에 대비하는 방법을 알아봅니다.

이 페이지에서는 체인 운영자와 사용자를 위해 Upgrade 16과 관련된 중요한 변경 사항을 설명합니다. 이번 업그레이드 제안에는 2025년 남은 기간 동안 Superchain이 지속적으로 성공할 수 있는 기반을 마련하기 위한 OP Stack 수정 사항이 포함되어 있습니다.

> [!NOTE]
>
> **Sepolia** Superchain의 Upgrade 16 프로토콜 업그레이드는 **Wed, Jul 09, 2025**에 실행되며, **Mainnet** Superchain은 **Thu, Jul 24, 2025 at 5:30 PM UTC** (`1753675800`)에 활성화됩니다.\
> 업그레이드는 다음 체인에서 실행됩니다: `OP`, `Soneium`, `Ink`, `Unichain`.\
> 실행 시점은 각 체인의 현재 상태에 따라 달라질 수 있습니다.

## Upgrade 16에 포함된 내용

Upgrade 16에는 다음과 같은 주요 변경 사항이 포함되어 있습니다.

* **Interop 지원 스마트 컨트랙트**: 상호운용성(interoperability)은 OP Chain의 통합 네트워크로서 Superchain을 실현하는 데 매우 중요합니다. 이번 업그레이드는 향후 크로스체인 메시징을 안전하고 확장 가능하게 처리하도록 `OptimismPortal`을 업데이트하여 기본적인 상호운용성 기능의 배포를 시작합니다. 이번 업그레이드에서는 아직 interop이 활성화되지 않습니다.
* **Stage 1 업데이트**: 2025년 1월에 발표된 [L2Beat의 업데이트된 Stage 1 요구 사항](https://forum.l2beat.com/t/stages-update-a-high-level-guiding-principle-for-stage-1/338)을 충족하기 위한 수정 사항으로, `DeputyGuardianModule` 제거와 `DeputyPauseModule` 업데이트가 포함됩니다.
* **Cannon의 Go 1.23 지원**: Go 1.23을 지원하도록 Cannon을 업데이트하여 OP Stack이 업스트림 go-ethereum 변경 사항의 이점을 누릴 수 있게 합니다.
* **최대 gas limit 상향**: OP Stack 인프라와 Cannon 증명 시스템 개선에 따라 `MAX_GAS_LIMIT`을 200m gas에서 500m gas로 업데이트합니다.
* **추가 안전성 개선**: 중요한 컨트랙트 함수에 대한 인증 추가 및 `DelayedWETH` 컨트랙트 제어 단순화.

## 체인 운영자를 위한 안내

Upgrade 16은 OP Stack의 L1 스마트 컨트랙트 업그레이드입니다. 다운타임이나 성능 변화는 예상되지 않습니다.

체인 운영자는 다음 작업을 완료해야 합니다.

* `op-challenger`를 [op-challenger/v1.5.1](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.5.1)로 업데이트

체인 운영자는 Upgrade 16으로 인해 기존의 모든 출금 증명이 일회성으로 무효화된다는 점을 알고 있어야 합니다. 출금을 증명한 사용자는 Upgrade 16 활성화 이전에 출금을 최종 확정하거나, 업그레이드 활성화 후 해당 출금을 다시 증명해야 합니다.

이 제안이 수락되면 업그레이드 트랜잭션을 실행하기 위한 멀티시그 세레모니가 조율됩니다. 다음 트랜잭션은 Mainnet과 Sepolia 모두에서 각 체인에 대해 실행됩니다: `OP`, `Soneium`, `Ink`, `Unichain`. 실행 시점은 체인의 현재 상태에 따라 달라집니다. Optimism이 거버넌스를 담당하는 체인이 이 목록에 없다면 OP Labs Solutions Engineering에 연락하여 업그레이드를 조율하시기 바랍니다. 이러한 업그레이드 작업은 [superchain-ops repo](https://github.com/ethereum-optimism/superchain-ops/tree/main/src/improvements/tasks)에서 준비됩니다.

이러한 업그레이드 작업의 잠정 실행 날짜는 [릴리스 보드](https://github.com/orgs/ethereum-optimism/projects/117/views/12)에서 추적할 수 있습니다.

### 무허가(permissionless) 결함 증명이 활성화된 체인

무허가 결함 증명(fault proof)을 실행하는 체인은 새로운 absolute prestate로 새 분쟁 게임(dispute game) 컨트랙트를 배포해야 합니다.

**1. 새 absolute prestate 검증**

> [!NOTE]
>
> Upgrade 14부터 64비트 멀티스레드 버전의 cannon이 사용됩니다.

absolute prestate는 [op-program/v1.6.1-rc.1](https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.1-rc.1)(`op-program/v1.6.1-rc.1` 기준)로 생성됩니다. 다음 체인에는 이 새로운 absolute prestate `0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8`을 사용할 수 있습니다.

* Mainnet 및 Sepolia: `OP`, `Soneium`, `Ink`, `Unichain`

`op-program/v1.6.1-rc.1` 태그에서 monorepo 루트에 있는 상태로 다음 [명령](https://github.com/ethereum-optimism/optimism/blob/d6fb90dd489e39efa206b55200766ccc075c1d9b/Makefile#L130-L132)(`d6fb90d` 기준)을 실행하여 이 absolute prestate를 검증할 수 있습니다.

```shell theme={null}
make reproducible-prestate
```

계산된 prestate가 다음과 비슷한 형태로 출력됩니다.

```shell theme={null}
-------------------- Production Prestates --------------------


Cannon64 Absolute prestate hash: 
0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8

-------------------- Experimental Prestates --------------------

CannonInterop Absolute prestate hash: 
0x03fc3b4d091527d53f1ff369ea8ed65e5e17cc7fc98ebf75380238151cdc949c

Cannon64Next Absolute prestate hash: 
0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8
```

* "Cannon64" 해시가 64비트 prestate입니다.

대상 prestate가 예상대로 계산되었는지, 그리고
[standard-prestates.toml](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml)의 해당 항목과 일치하는지 확인하십시오.

**2. 새 preimage 파일 업로드**

이전 단계에서 absolute prestate의 preimage도 함께 생성되었습니다. 이는 op-program을 바이너리 파일로 직렬화한 것입니다. 새 파일은 `optimism/op-program/bin/prestate-mt64.bin.gz`에 있습니다. 파일 이름을 absolute prestate 해시로 변경하여 `PRESTATEHASH.bin.gz`와 같은 형태가 되도록 합니다.

다른 absolute preimage 파일을 보관하는 위치에 이 파일을 업로드합니다. 이 위치는 `--cannon-prestates-url`이 가리키는 위치여야 합니다. `op-challenger`는 게임에 이의를 제기해야 할 때 이 파일을 가져와 사용합니다.

**3. 업그레이드 실행**

`op-challenger`가 새 preimage로 준비되면 업그레이드 트랜잭션을 실행할 수 있습니다. 이는 OP Contract Manager([레지스트리](https://github.com/ethereum-optimism/superchain-registry/blob/6621a0f13ce523fe1bb8deea739fe37abe20f90d/validation/standard/standard-versions-mainnet.toml#L22)에 나열된 주소, `6621a0f` 기준)의 `upgrade()` 함수에 delegatecall을 수행하는 방식으로 진행해야 합니다.

트랜잭션을 실행하기 전에 예상 출력을 시뮬레이션하고 검증하시기 바랍니다.

## bridge 및 사용자를 위한 안내

> [!NOTE]
>
> 결함 증명 업그레이드가 실행되기 전에 최종 확정되지 않은 모든 출금은 업그레이드 완료 후 다시 증명해야 합니다. 이 7일 기간 동안에는 업그레이드가 완료될 때까지 기다렸다가 출금을 시작하는 것을 고려할 수 있습니다.

사용자는 다음과 같은 영향을 알고 있어야 합니다.

### 출금 흐름 변경

1. L1에서 생성된 모든 대기 중인 출금 증명이 일회성으로 무효화됩니다.

2. 업그레이드가 실행되기 전에 대기 중인 출금을 완료하십시오.

3. 제때 실행 가능해지지 않을 새 출금 증명을 생성하지 마십시오.

4. 출금이 무효화된 경우 L1에서 두 번째 출금 증명 트랜잭션을 제출하십시오.

이 무효화로 인해 ETH나 ERC-20 토큰이 위험에 처하지는 않습니다.

## 기술 세부 사항

### Interop 지원 스마트 컨트랙트

Upgrade 16은 네이티브 상호운용성을 지원하도록 OP Stack의 핵심 bridge 컨트랙트를 업데이트합니다. 주요 수정 사항은 다음과 같습니다.

* `OptimismPortal`은 이제 분쟁 게임의 유효성에 대한 신뢰할 수 있는 출처(source of truth)로 `AnchorStateRegistry`를 사용합니다.
* `OptimismPortal`은 이제 전용 `ETHLockbox` 컨트랙트에 ETH를 보관합니다.
* `OptimismPortal`에는 업데이트된 `SuperFaultDisputeGame` 구현체를 지원하는 `proveWithdrawalTransaction` 함수 버전이 포함됩니다(기본적으로 비활성화됨).

### Stage 1 업데이트

* `DeputyGuardianModule`이 제거되었습니다.
* `DeputyPauseModule`은 Security Council의 guardian safe에 설치되도록 업데이트되었습니다.
* 일시 중지 조치는 이제 3개월 후 자동으로 만료됩니다.
* 일시 중지 조치는 이제 Superchain 전체뿐만 아니라 체인별로도 적용할 수 있습니다.

### Cannon의 Go 1.23 지원

Cannon이 Go 1.23을 지원하도록 업데이트되어 OP Stack이 go-ethereum의 업스트림 변경 사항의 이점을 누릴 수 있습니다.

### `MAX_GAS_LIMIT` 상향

`SystemConfig` 컨트랙트의 `MAX_GAS_LIMIT` 변수가 200m gas에서 500m gas로 업데이트됩니다.

### 보안 검토

* bridge 컨트랙트 변경 사항은 Cantina 콘테스트를 통해 감사를 받았으며, 중간(Medium) 이상의 심각도 이슈는 발견되지 않았습니다.
* Upgrade 16 전체는 Spearbit의 감사를 받았으며, 중간(Medium) 이상의 심각도 이슈는 발견되지 않았습니다.
