EIP-1153은 EVM에 트랜잭션 범위의 임시 저장소 역할을 하는 TSTORE와 TLOAD 두 가지 새 옵코드를 도입한 최종 확정 제안입니다. 임시 저장소는 트랜잭션이 끝나면 자동으로 초기화되므로 재진입 방지 잠금이나 임시 변수 관리에 매우 효율적입니다.
배경
기존에는 재진입 방지 락(lock)이나 트랜잭션 내 임시 상태 관리를 위해 SSTORE/SLOAD를 사용해야 했습니다. 이는 높은 가스 비용과 트랜잭션 후 상태 정리 문제를 야기했습니다.
동작 방식
TSTORE와 TLOAD는 SSTORE/SLOAD와 동일한 인터페이스를 가지지만, 저장된 데이터는 트랜잭션이 종료되면 자동으로 삭제됩니다. 가스 비용은 SSTORE보다 훨씬 저렴하며(100 가스), 환불 메커니즘도 불필요합니다.
활용 사례
재진입 공격 방지 뮤텍스, 플래시 론 콜백 상태 추적, 멀티콜 패턴에서의 임시 상태 공유 등에 최적입니다. OpenZeppelin 등 주요 라이브러리에서도 이를 활용한 업데이트가 이루어졌습니다.
활성화
Cancun 하드포크(2024년 3월)에 포함되어 메인넷에 활성화되었습니다. 솔리디티에서는 transient 키워드를 통해 사용할 수 있습니다.