EIP-145는 EVM에 네이티브 비트 시프트 명령어(SHL, SHR, SAR)를 추가하는 제안으로, 최종 승인되었습니다. 이전에는 비트 시프트를 곱셈/나눗셈으로 에뮬레이션해야 했는데, 이를 훨씬 효율적으로 처리할 수 있게 되었습니다.
도입 이전의 비효율
비트 시프트 연산은 프로그래밍에서 매우 일반적이지만, 이전 EVM에는 네이티브 시프트 명령어가 없었습니다. 2의 거듭제곱 곱셈/나눗셈으로 에뮬레이션해야 했고 이는 가스 비용이 높았습니다.
추가된 명령어
SHL(왼쪽 논리 시프트), SHR(오른쪽 논리 시프트), SAR(오른쪽 산술 시프트) 세 가지 명령어가 추가되었습니다. 각각 3 가스를 소비하며 효율적인 비트 연산을 가능하게 합니다.
가스 효율성 개선
네이티브 시프트 명령어는 EXP 기반 에뮬레이션보다 훨씬 적은 가스를 사용합니다. 비트 마스킹, 플래그 처리 등 저수준 데이터 조작이 포함된 컨트랙트의 가스 비용이 크게 줄어들었습니다.
활성화
EIP-145는 Constantinople 하드포크(2019)에서 활성화되었습니다. 컴파일러와 EVM 구현 모두 이 새로운 명령어를 지원하도록 업데이트되었습니다.
개발자 영향
Solidity 컴파일러는 EIP-145 이후 시프트 연산을 자동으로 네이티브 명령어로 컴파일하게 되었습니다. 이는 비트 연산이 많은 암호화 관련 컨트랙트의 효율성을 크게 향상시켰습니다.