EIP-1153은 이더리움 개선 제안으로, 이더리움의 트랜잭션 데이터 관리를 개선하여 스마트 계약의 효율성을 높이고 가스 비용을 줄이는 기능을 도입합니다. 이 제안은 스마트 계약 실행 중 저장 작업과 관련된 효율성을 개선하고 비용을 절감하기 위한 일시적 저장 opcode의 개념을 도입합니다.[1][4]
이더리움 개선 제안 (EIP) 1153은 이더리움 (ETH) 블록체인이 데이터를 처리하는 방식을 바꾸도록 설정되어 있습니다. EIP-1153은 계정 간에 발생하는 트랜잭션에 대한 데이터를 블록체인이 쓰고 지우는 방식을 변경하도록 설계되었습니다. 저장소에 쓰고 트랜잭션이 끝나기 전에 지우는 대신, 스마트 계약은 완전히 새로운 데이터 메커니즘인 "일시적 저장소"를 활용할 수 있게 되었습니다. 이 기능은 새로운 opcode 추가와 함께 활성화되었습니다.
일시적 저장소는 데이터 관리를 위한 더 저렴하고 간소화된 도구입니다. 또한 이더리움(ETH) 및 EVM 생태계 dApp에 대한 새로운 사용 사례를 제공합니다. 예를 들어, Uniswap v4에서는 모든 유동성 풀이 하나의 스마트 계약에 보관됩니다. 이를 통해 다양한 풀 간의 유동성 로지스틱이 더 빠르고 저렴해집니다. 풀 간에 자산을 전송하는 대신 시스템은 크로스 자산 스왑을 통해 순 잔액만 변경합니다.[2]
EIP-1153을 구현하려면 하드 포크가 필요하며, 기존 opcode의 동작을 변경하지 않으므로 기존 스마트 계약과의 역호환성을 유지합니다.
EIP-1153은 2018년 6월에 처음 제안되었으며, 그 이후로 가스 가격 및 환불 방식과 opcode 설계 방식이 진화하고 변경되었습니다. EIP-1153의 기능에는 장단점이 있습니다. 한편으로는 올바르게 사용하면 가스 비용을 줄이는 데 도움이 될 수 있습니다. 반면에 복잡성을 추가하고 새로운 컨텍스트를 도입하며 추가적인 EVM 메커니즘을 생성하여 공격 표면을 늘리고 감사 프로세스를 더 복잡하게 만들 수도 있습니다.[1]
이더리움에서 저장소는 스마트 계약의 상태를 유지하는 데 중요한 역할을 합니다. 그러나 저장소에 액세스하고 수정하는 것은 리소스 집약적일 수 있으며, 높은 가스 비용으로 이어질 수 있습니다. 일시적 저장소는 트랜잭션 실행 컨텍스트 내에 임시 저장 영역을 제공합니다. 영구 저장소와 달리 일시적 저장소는 트랜잭션이 완료된 후 계약의 상태에 유지되지 않습니다.[4]
Opcode은 "operation code"의 약자입니다. 컴퓨터의 중앙 처리 장치(CPU)가 수행할 명령어가 포함된 숫자 코드입니다. Opcode는 별개의 바이트 또는 단어일 수도 있고, 더 큰 명령어 단어에 포함될 수도 있습니다. Opcode는 2진수 또는 16진수일 수 있습니다. 예를 들어, 0001의 opcode는 두 숫자를 더하는 것을 의미할 수 있고, 0010의 opcode는 두 숫자를 빼는 것을 의미할 수 있습니다.[3]