EIP-2926은 이더리움 스마트 계약 코드를 청크(chunk) 단위로 분할하여 머클 트리에 포함시키는 코드 머클화(Code Merkleization) 방안을 제안합니다. Verkle 트리 전환을 위한 기반 작업의 일환으로 Draft 상태입니다.
제안 목적
현재 이더리움은 계약 코드 전체를 저장하고 증명할 때 큰 오버헤드가 발생합니다. EIP-2926은 코드를 31바이트 청크로 분할하고 각 청크를 개별적으로 증명할 수 있게 합니다. 이를 통해 스테이트리스 클라이언트가 필요한 코드 부분만 증명하여 검증할 수 있습니다.
기술적 구조
계약 코드는 31바이트 청크의 배열로 분할됩니다. 각 청크는 코드 데이터와 함께 해당 청크에서 접근 가능한 첫 번째 명령어 오프셋 메타데이터를 포함합니다. 모든 청크는 머클 트리에 포함되어 증명 가능한 구조를 형성합니다.
스테이트리스 이더리움과의 연관성
EIP-2926은 이더리움의 스테이트리스 클라이언트 로드맵의 핵심 구성 요소입니다. 코드 청크 증명은 블록 검증 시 필요한 데이터를 최소화합니다. Verkle 트리 전환(EIP-6800)과 함께 사용되어 완전한 스테이트리스 검증을 가능하게 합니다.
현재 상황
EIP-2926은 Draft 상태로 진행 중이나 관련 작업들이 더 포괄적인 Verkle 트리 제안으로 통합되고 있습니다. 코드 머클화의 세부 구현은 Verkle 트리 전환 계획과 함께 발전하고 있습니다. 이더리움 코어 개발자들이 이 기술을 장기 로드맵의 일부로 계속 연구하고 있습니다.