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

Reduced gas cost for call to self

EIP-1380은 컨트랙트가 자기 자신을 호출(call to self)할 때의 가스 비용을 줄이자는 제안입니다. 현재 정체(Stagnant) 상태이며, 동일 컨트랙트 내부 호출의 비용 최적화를 목표로 했습니다.

제안 배경

이더리움 EVM에서 컨트랙트가 자기 자신의 다른 함수를 외부 호출(CALL 옵코드)로 호출할 때, 외부 컨트랙트 호출과 동일한 가스 비용이 발생합니다. 그러나 자기 호출은 상태 로딩이 필요 없어 실제 비용이 더 낮아야 합니다.

제안 내용

컨트랙트가 자신의 주소로 CALL 또는 STATICCALL을 할 때 가스 비용을 줄이는 것을 제안했습니다. 대상 주소가 호출자 자신인 경우를 EVM이 감지하여 최적화된 비용을 적용하는 방식입니다.

정체 이유

이 최적화가 실제로 얼마나 자주 사용되는 패턴인지에 대한 의문이 제기되었습니다. 또한 Solidity 컴파일러 레벨의 최적화나 internal 함수 호출로 대부분의 경우를 해결할 수 있다는 의견이 있었습니다.

관련 최적화

이 제안과 관련하여 EVM 가스 비용 전반을 재검토하는 여러 EIP들이 제안되었습니다. EIP-2929 등 실제로 활성화된 가스 비용 조정 EIP들이 더 넓은 범위의 최적화를 제공했습니다.

공식 EIP 문서open_in_new