Tech/EIPs/#1283
EIP 1283카테고리 · 코어유형 · 표준 트랙상태 · 최종

Net gas metering for SSTORE without dirty maps

EIP-1283은 SSTORE 옵코드의 가스 계량을 개선하여 더티 맵 없이 순수 가스 비용 절감을 달성하는 새로운 방식을 정의한 최종 확정 제안입니다. 동일 트랜잭션 내에서 여러 번 저장소를 수정할 때 불필요하게 높은 가스를 부과하는 문제를 해결했습니다.

기존 문제

기존 SSTORE 가스 계산은 저장소 값이 0에서 비제로 값으로 바뀔 때 항상 20000 가스를 부과했습니다. 하나의 트랜잭션에서 같은 슬롯을 여러 번 수정해도 매번 동일한 높은 비용이 부과되었습니다.

개선 방식

원래 값(original), 현재 값(current), 새 값(new)을 비교하여 가스를 차등 부과합니다. 같은 트랜잭션에서 이미 수정된 슬롯을 다시 수정할 때 낮은 가스 비용을 적용하고, 원래 값으로 되돌릴 경우 환불도 됩니다.

보안 문제

콘스탄티노플에 포함될 예정이었으나, 재진입 공격과 결합될 수 있는 보안 취약점이 발견되어 Petersburg 하드포크에서 일시 제거되었습니다. 이후 EIP-2200으로 보완되어 이스탄불 하드포크에 포함되었습니다.

최종 활성화

EIP-2200(EIP-1283의 개선 버전)이 이스탄불 하드포크(2019년 12월)에 포함되어 활성화되었습니다. 스마트 컨트랙트의 멀티 저장소 수정 패턴에서 상당한 가스 절감을 제공합니다.

공식 EIP 문서open_in_new