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

Set Code for EOAs

쉬운 설명

일반 지갑 주소(EOA)에 스마트 컨트랙트 코드를 임시로 설정할 수 있게 해줘요. 하나의 트랜잭션에서 EOA가 스마트 계정처럼 동작해 배치 실행, 가스 후원 등이 가능해져요.

EIP-7702는 2025년 Pectra 업그레이드에서 도입된 Core EIP로, 일반 외부 계정(EOA)에 임시로 스마트 컨트랙트 코드를 설정할 수 있게 합니다. 새로운 SET_CODE_TX_TYPE(type 4) 트랜잭션을 통해 EOA가 단일 트랜잭션 안에서 스마트 계정처럼 동작해 배치 실행, 가스비 후원, 세션 키 등을 사용할 수 있습니다.

Authorization Tuple: 위임 구조

인가 튜플(authorization tuple)은 (chain_id, address, nonce, y_parity, r, s) 형식입니다. EOA 소유자가 이 튜플을 서명하면 address에 있는 컨트랙트 코드를 자신의 계정에 설정하도록 위임합니다. nonce는 재사용 방지용이며, chain_id = 0으로 설정하면 모든 체인에서 유효한 크로스체인 인가도 가능합니다.

SET_CODE_TX_TYPE(type 4) 트랜잭션

EIP-7702는 EIP-2718의 type 4 트랜잭션을 정의합니다. 트랜잭션 페이로드에 authorization_list 필드를 포함하며, 각 항목은 인가 튜플입니다. 트랜잭션 처리 시 각 인가 튜플을 검증하고, 유효하면 EOA 계정의 코드를 해당 컨트랙트 주소로의 "위임 지시자(delegation designator)"로 설정합니다. 위임된 EOA로의 호출은 지정 컨트랙트로 DELEGATECALL됩니다.

EOA의 즉각적 스마트 계정 동작

위임 설정 후 EOA는 그 트랜잭션과 이후 모든 호출에서 스마트 계정처럼 동작합니다. 예를 들어 EOA가 배치 실행 컨트랙트에 위임하면, 단 하나의 트랜잭션으로 여러 작업을 원자적으로 수행할 수 있습니다. EOA 주소가 변경되지 않으므로 기존 자산, 스테이킹 포지션, ENS 이름 등이 그대로 유지됩니다.

취소(Revocation)와 권한 관리

위임을 취소하려면 address = 0x0으로 설정한 인가 튜플로 새 type 4 트랜잭션을 제출하면 됩니다. nonce 기반 검증 덕분에 이전 인가 튜플은 무효화됩니다. 이 설계는 EOA 소유자가 언제든지 위임을 철회하고 일반 EOA로 복귀할 수 있는 완전한 제어권을 보장합니다. 소유자는 동시에 여러 다른 기능 컨트랙트로의 위임을 관리할 수도 있습니다.

EIP-4337과의 차이점과 Pectra 업그레이드

EIP-4337은 새로운 스마트 계약 지갑을 배포해 계정 추상화를 구현하며, 별도의 EntryPoint, Bundler 인프라가 필요합니다. EIP-7702는 기존 EOA에 직접 코드를 주입하는 방식으로, 새 인프라 없이 즉시 스마트 계정 기능을 사용할 수 있습니다. 두 표준은 상호 보완적입니다. EIP-7702는 2025년 Pectra 업그레이드(EIP-7251, EIP-7002 등과 함께)에서 활성화됩니다.

공식 EIP 문서open_in_new