EIP-2930은 트랜잭션에 선택적 접근 목록(access list)을 포함하는 새로운 트랜잭션 타입을 도입합니다. 베를린 하드포크에서 활성화된 Final 표준으로, EIP-2718의 typed transaction 체계를 활용합니다.
핵심 기능
타입 1 트랜잭션은 트랜잭션이 접근할 주소와 스토리지 키의 목록을 사전에 명시합니다. 접근 목록에 포함된 항목들은 트랜잭션 시작 시 warm 상태로 초기화됩니다. 이를 통해 EIP-2929의 높아진 cold 접근 비용을 절감할 수 있습니다.
가스 비용 구조
접근 목록의 각 주소는 2,400 가스, 각 스토리지 키는 1,900 가스의 추가 비용이 부과됩니다. 이는 나중에 해당 주소/슬롯에 접근할 때 적용되는 cold 비용(2,100/2,600)보다 낮습니다. 미리 목록을 지정하면 복잡한 트랜잭션의 총 가스 비용을 줄일 수 있습니다.
클라이언트 최적화
접근 목록을 미리 알면 클라이언트가 트랜잭션 실행 전에 필요한 상태를 미리 불러올 수 있습니다. 이는 특히 병렬 트랜잭션 처리와 상태 액세스 최적화에 유리합니다. 향후 스테이트리스 클라이언트를 위한 증인(witness) 데이터 생성에도 활용될 수 있습니다.
실제 활용
DeFi 프로토콜과 복잡한 계약 상호작용에서 접근 목록을 활용한 가스 최적화가 이루어지고 있습니다. ethers.js, web3.js 등 주요 라이브러리들이 접근 목록 생성 및 추정 기능을 지원합니다. 이 표준은 이더리움 트랜잭션 타입 확장의 중요한 선례가 되었습니다.
베를린 하드포크
EIP-2930은 2021년 4월 베를린 하드포크에서 EIP-2929와 함께 활성화되었습니다. 이는 EIP-2718(typed transactions)의 첫 번째 실용적 적용 사례였습니다. 이후 EIP-1559(타입 2)와 EIP-4844(타입 3)으로 이어지는 트랜잭션 타입 발전의 기반이 되었습니다.