EIP-7744는 이더리움 바이트코드를 콘텐츠 해시로 인덱싱하는 온체인 코드 인덱스 레지스트리를 제안합니다. 동일한 바이트코드를 가진 컨트랙트들을 효율적으로 탐색하고 참조할 수 있게 합니다.
제안 배경
이더리움에는 동일한 바이트코드를 가진 수많은 컨트랙트가 존재하지만, 이를 효율적으로 연결하는 표준 방법이 없습니다. EIP-7744는 컨트랙트 바이트코드의 keccak256 해시를 키로 사용하는 공개 레지스트리를 제공합니다. 이를 통해 컨트랙트 팩토리, 감사 도구, 블록 탐색기가 바이트코드 기반 조회를 수행할 수 있습니다.
레지스트리 설계
바이트코드 해시를 키로 하여 해당 바이트코드를 배포한 컨트랙트 주소 목록을 저장합니다. 누구나 새로운 컨트랙트를 레지스트리에 등록할 수 있으며, 등록 시 이벤트가 발생합니다. 레지스트리 자체는 업그레이드 불가능한 최소한의 싱글톤 컨트랙트로 구현됩니다.
활용 사례
스마트 컨트랙트 감사 도구는 이미 감사된 바이트코드와 새 배포를 자동으로 연결할 수 있습니다. 컨트랙트 팩토리는 자신이 생성한 컨트랙트들의 계보를 추적하는 데 사용할 수 있습니다. 블록 탐색기는 소스 코드 검증을 위한 참조 자료로 활용할 수 있습니다.
설계 제약
레지스트리는 데이터를 저장만 하며 어떤 유효성 검사도 수행하지 않아 단순하고 신뢰 최소화됩니다. 대규모 배포의 경우 등록 가스 비용이 발생하지만, 이는 선택적 사용으로 완화됩니다.