Tech/EIPs/#1344
EIP 1344카테고리 · 코어유형 · 표준 트랙상태 · 최종

ChainID opcode

EIP-1344는 EVM에 CHAINID 옵코드를 추가하여 스마트 컨트랙트가 현재 실행 중인 체인의 ID를 조회할 수 있도록 하는 제안입니다. 이 제안은 Final 상태이며 Istanbul 하드포크에서 활성화되었습니다.

도입 배경

이더리움과 여러 포크 체인(예: ETC)이 동일한 컨트랙트 코드를 공유할 때, 컨트랙트는 자신이 어느 체인에서 실행되는지 알 수 없었습니다. 이로 인해 리플레이 공격 등의 보안 취약점이 발생할 수 있었습니다.

CHAINID 옵코드

새로운 0x46 옵코드인 CHAINID는 현재 체인의 EIP-155 체인 ID를 스택에 푸시합니다. 이 값은 단 2 가스로 조회할 수 있어 매우 효율적입니다.

보안 개선

CHAINID 옵코드를 활용하면 서명된 메시지나 트랜잭션이 특정 체인에서만 유효하도록 바인딩할 수 있습니다. 이는 EIP-155의 트랜잭션 레벨 체인 분리를 컨트랙트 레벨에서도 구현할 수 있게 합니다.

활성화 및 영향

CHAINID는 2019년 12월 Istanbul 하드포크에서 활성화되었습니다. 이후 EIP-712 서명, 크로스체인 메시지 검증 등 다양한 분야에서 체인 ID 확인이 필수 보안 요소로 자리잡았습니다.

현재 활용

오늘날 대부분의 DeFi 프로토콜과 NFT 마켓플레이스는 CHAINID를 사용하여 트랜잭션과 서명의 체인 특정성을 보장합니다. 멀티체인 환경에서 이 옵코드의 중요성은 더욱 커지고 있습니다.

공식 EIP 문서open_in_new