Upgrade 18(Optimism Governance 승인)은
CANNON(0)과 함께 사용할 수 있는 game type으로 CANNON_KONA(8)를 도입했습니다. Upgrade 19는 Optimism Security Council이 관리하는 체인에서 CANNON_KONA를 respected game type으로 승격합니다. 즉, 온체인 업그레이드의 일부로 자동 적용됩니다. 관리 대상이 아닌 체인이 전환하려면 이 가이드를 따라야 합니다.개요
Kona 증명은
kona-node와 op-reth를 결합한 kona-client 결함 증명 프로그램을 사용합니다. 이는 지원이 종료되었고 Karst 하드포크를 지원하지 않는 op-program(op-node와 op-geth의 결합)을 대체합니다. op-geth 및 op-program 지원 종료를 참조하세요. 두 프로그램 모두 다음과 같습니다.
- Cannon을 FPVM으로 사용하며,
- 동일한 분쟁 게임(dispute game) 구현(
FaultDisputeGame.sol)에서 사용됩니다.
CANNON(0):op-program(지원 종료)CANNON_KONA(8):kona-client
CANNON(0)으로 유지되며, 이는 해당 게임만 출금에 사용된다는 의미입니다. op-program은 Karst를 지원하지 않으므로 체인에서 Karst 하드포크를 활성화하기 전에 이 전환을 완료해야 합니다. 이 가이드는 Kona 증명(CANNON_KONA, 8)이 respected game type이 되도록 체인을 전환하는 방법을 설명합니다.
전체적인 흐름은 다음과 같습니다.
- cannon+kona 지원이 온체인에 올바르게 배포되었는지 확인합니다.
- 오프체인 인프라(특히
op-challenger)가 Kona를 지원할 준비가 되었는지 확인합니다. - respected game type을
CANNON_KONA(8)로 전환합니다. - Kona 게임을 게시하도록
op-proposer를 업데이트합니다. - 시스템을 모니터링합니다.
Kona 증명으로 전환하는 방법
1
cannon+kona 지원 배포 확인
respected game type을 변경하기 전에 체인이
CANNON 게임과 CANNON_KONA 게임을 모두 지원하도록 업그레이드되었는지 확인합니다.필요한 업그레이드는
cannonPrestate와 cannonKonaPrestate를 모두 설정한 OpChainConfig로 OPCM.upgrade를 통해 수행됩니다.-
OpChainConfigprestate 확인 가장 최근 업그레이드에 사용한OpChainConfig에 다음이 포함되어 있는지 확인합니다.- 유효한
cannon64prestate를 가리키는cannonPrestate. - 유효한
cannon64-konaprestate를 가리키는cannonKonaPrestate.
- 유효한
-
DisputeGameFactory구현 확인 cannon+kona 업그레이드 후DisputeGameFactory에는 다음이 있어야 합니다.CANNON(0)에 대한 0이 아닌 구현, 그리고CANNON_KONA(8)에 대한 0이 아닌 구현.
두 호출 모두 0이 아닌 주소를 반환해야 합니다.cast
2
op-challenger의 Kona 지원 준비 확인
respected game type을 변경하기 전에 challenger가 cannon 게임과 kona 게임을 모두 플레이할 수 있어야 합니다.
-
Trace type
trace type을 명시적으로 구성하는 경우
cannon-kona가 포함되어 있는지 확인합니다. 일반적인 설정은 다음과 같습니다. -
Prestate URL
op-challenger가 cannon prestate와 cannon-kona prestate를 모두 가져올 수 있는지 확인합니다.-
둘이 같은 URL에 있는 경우 다음을 사용합니다.
-
서로 다른 위치에 있는 경우 다음을 사용합니다.
-
둘이 같은 URL에 있는 경우 다음을 사용합니다.
-
Kona host 바이너리
표준 OP Labs
op-challengerDocker 이미지를 사용하지 않는 운영자는 다음도 제공해야 합니다.kona-host바이너리는 Kona 저장소(예:bin/host아래)에서 구할 수 있습니다. 구성한cannon-konaprestate와 동일한 릴리스에서 빌드하세요.
3
respected game type을 CANNON_KONA로 전환
온체인과 오프체인 구성 요소가 모두 준비되면 respected game type을 전환하여 Kona 증명이 출금의 정식 경로가 되도록 할 수 있습니다.respected game type은
AnchorStateRegistry 컨트랙트에서 구성됩니다.-
calldata 인코딩
cast calldata를 사용하여 game type8(CANNON_KONA에 해당)로setRespectedGameType(uint32)호출을 인코딩합니다.cast -
트랜잭션 전송
Guardian에서
AnchorStateRegistry로 트랜잭션을 전송합니다.cast -
새 respected game type 확인
트랜잭션이 확인되면 respected game type이 이제
8인지 확인합니다.반환 값은cast8이어야 하며, 이는CANNON_KONA가 이제 respected game type임을 나타냅니다.
4
game type 8을 사용하도록 op-proposer 업데이트
CANNON_KONA가 respected game type으로 설정되면 proposer가 Kona 게임을 생성해야 합니다.-
proposer game type 업데이트
op-proposer구성을 game type 0에서 8로 변경합니다.이 변경은 최초 cannon+kona 업그레이드의 일부로 필요한 것이 아니며, 실제로 respected game type을CANNON_KONA로 전환할 때만 필요합니다. - proposer 재시작 새 구성이 적용되도록 proposer 프로세스를 재시작합니다. 로그와 메트릭에서 이제 game type 8을 사용하고 있는지 확인합니다.
5
모니터링 및 검증
Kona 증명으로 전환한 후 모든 것이 예상대로 작동하는지 체인을 면밀히 모니터링합니다.
-
테스트 출금 실행
- 소액 테스트 출금을 몇 차례 수행하고 다음을 확인합니다.
- 새 결함 분쟁 게임이 game type
CANNON_KONA(8)로 생성되는지. - challenger가
kona-host를 사용하여 올바르게 응답하는지.
- 새 결함 분쟁 게임이 game type
- 소액 테스트 출금을 몇 차례 수행하고 다음을 확인합니다.
-
메트릭 및 로그 관찰
op-proposer및op-challenger로그에서 오류를 모니터링합니다.- 분쟁 게임 메트릭(예: 게임 수 및 step 소요 시간)에서 이상 징후를 관찰합니다.