EIP-6888은 EVM 명령어 수준에서 산술 연산의 오버플로우, 언더플로우, 제로 나누기 등을 감지하고 검증하는 전용 메커니즘을 도입하자는 제안입니다. 스마트 컨트랙트의 산술 버그를 프로토콜 레벨에서 방지하려는 시도입니다.
제안 배경
SafeMath 라이브러리와 Solidity 0.8의 기본 산술 검사가 도입되기 전까지 산술 오버플로우는 스마트 컨트랙트의 주요 취약점이었습니다. EVM 네이티브 검증은 가스 효율적인 대안을 제공할 수 있습니다.
새 명령어 제안
산술 연산 결과의 유효성을 검증하는 새로운 EVM 옵코드 또는 플래그 시스템을 도입합니다. 오버플로우 감지 시 자동으로 revert가 발생하거나 플래그 레지스터에 기록됩니다.
정체 이유
Solidity 0.8 이후 컴파일러 레벨의 산술 검사가 기본으로 활성화되면서 EVM 레벨 변경의 필요성이 줄었습니다. 새 옵코드 추가는 EVM 복잡도를 높이고 하드포크가 필요해 진입 장벽이 높습니다.
현황
Stagnant 상태이며, 컴파일러 레벨 해결책이 실용적 요구를 이미 충족하고 있다는 평가를 받고 있습니다.