Tech/EIPs/#1930
EIP 1930카테고리 · 코어유형 · 표준 트랙상태 · 정체

CALLs with strict gas semantic. Revert if not enough gas available.

EIP-1930은 CALL 계열 옵코드에 엄격한 가스 시맨틱을 적용하여, 지정한 가스가 부족할 경우 호출을 되돌리는 방식을 제안합니다. 가스 부족으로 인한 예측 불가능한 동작을 방지하려는 목적입니다.

문제 배경

기존 CALL 옵코드는 가스가 부족해도 조용히 실패(false 반환)하는 경우가 있어, 컨트랙트 개발자가 이를 명시적으로 처리해야 하는 부담이 있었습니다. 예측하지 못한 가스 부족 상황이 보안 취약점으로 이어질 수 있었습니다.

제안 내용

새로운 CALL 변형 옵코드를 도입하거나 기존 동작을 변경하여, 지정된 가스량이 실제로 전달되지 않을 경우 즉시 revert하도록 합니다. 가스 관련 동작을 더 명확하고 예측 가능하게 만듭니다.

정체된 이유

기존 컨트랙트와의 하위 호환성 문제가 주요 장벽이었습니다. 가스 시맨틱 변경이 기존에 배포된 컨트랙트의 동작을 의도치 않게 바꿀 수 있다는 우려가 있었습니다.

현재 상태

정체 상태로 공식 채택은 이루어지지 않았습니다. 가스 관련 취약점은 개발자 교육과 정적 분석 도구를 통해 대응하는 방식이 주류가 되었습니다.

공식 EIP 문서open_in_new