EIP-8120은 EVM에 MLOAD8과 CALLDATALOAD8이라는 두 가지 새로운 opcode를 추가하는 방안을 제안합니다. 이 opcode들은 메모리와 콜데이터에서 1바이트씩 읽는 효율적인 단일 바이트 읽기 연산을 제공합니다.
현재 바이트 읽기 비효율
EVM에서 단일 바이트를 읽으려면 32바이트 MLOAD 후 비트 시프트 연산이 필요합니다. 이는 불필요한 연산 오버헤드를 발생시킵니다.
MLOAD8과 CALLDATALOAD8
MLOAD8은 메모리의 특정 오프셋에서 1바이트를 읽고, CALLDATALOAD8은 콜데이터에서 1바이트를 읽습니다. 각각 동등한 기존 연산 시퀀스보다 낮은 가스 비용을 가집니다.
활용 사례
바이트 단위 파싱이 필요한 ABI 디코더, 바이너리 포맷 처리, 패킹된 데이터 구조 접근 등에서 가스를 절감합니다.
현황
Draft 상태로, opcode 인코딩 방식과 가스 비용 책정에 대한 기술 검토가 진행 중입니다.