Tech/EIPs/#2936
EIP 2936카테고리 · 코어유형 · 표준 트랙상태 · 정체

EXTCLEAR Opcode For SELFDESTRUCTed contracts

EIP-2936은 SELFDESTRUCT된 계약의 스토리지를 명시적으로 지우는 EXTCLEAR 오프코드를 제안합니다. 스토리지 정리를 통한 상태 크기 관리 개선을 목표로 했으나 현재 정체 상태입니다.

문제 배경

SELFDESTRUCT 오프코드가 실행되면 계약 코드와 이더 잔액은 제거되지만 스토리지 데이터는 즉시 지워지지 않습니다. 남은 스토리지 데이터는 이더리움 상태 트리에 계속 존재하여 상태 비대화 문제를 악화시킵니다. EXTCLEAR는 이 불필요한 스토리지를 명시적으로 제거하는 메커니즘을 제공합니다.

EXTCLEAR 오프코드

EXTCLEAR(address, storage_key)는 지정된 주소의 특정 스토리지 슬롯을 0으로 초기화합니다. SELFDESTRUCT된 계약의 스토리지에만 적용되어 활성 계약의 데이터 보호를 유지합니다. 스토리지 정리에 대한 가스 환불을 제공하여 정리 작업을 경제적으로 유도합니다.

정체 이유

SELFDESTRUCT 오프코드 자체가 이더리움 로드맵에서 제거 방향으로 논의되고 있습니다(EIP-4758, EIP-6780). EXTCLEAR의 복잡성 대비 실질적 이점이 크지 않다는 평가를 받았습니다. 상태 만료(state expiry) 접근 방식이 더 포괄적인 해결책으로 선호되고 있습니다.

현재 상황

EIP-2936은 Stagnant 상태로 활발한 논의가 중단되었습니다. SELFDESTRUCT의 의미론적 변경(EIP-6780)이 이 문제를 다른 방향으로 해결하고 있습니다. 이더리움 상태 크기 관리는 Verkle 트리와 상태 만료 등 더 광범위한 접근 방식으로 다루어지고 있습니다.

공식 EIP 문서open_in_new