[논문 리뷰] The Economics of Smart Contracts
이 논문은 이더리움의 가스 비용 모델에 심각한 결함이 있음을 밝혀내며, SLOAD과 같은 핵심 명령어의 실행 시간이 블록체인 길이에 비례해 비로소 증가함에도 불구하고 가스 가격은 고정되어 있음을 밝힌다. 이더리움의 역사 전반에 걸쳐 광범위한 인스트루멘테이션을 수행한 결과, 저자들은 실행 시간을 기반으로 한 새로운 가스 모델을 제안하며 블록 높이를 고려하여 실행 비용을 안정화하고 스마트 컨트랙트 실행의 점점 커지는 비효율성을 제거한다.
Ethereum is a distributed blockchain that can execute smart contracts, which inter-communicate and perform transactions automatically. The execution of smart contracts is paid in the form of gas, which is a monetary unit used in the Ethereum blockchain. The Ethereum Virtual Machine (EVM) provides the metering capability for smart contract execution. Instruction costs vary depending on the instruction type and the approximate computational resources required to execute the instruction on the network. The cost of gas is adjusted using transaction fees to ensure adequate payment of the network. In this work, we highlight the "real" economics of smart contracts. We show that the actual costs of executing smart contracts are disproportionate to the computational costs and that this gap is continuously widening. We show that the gas cost-model of the underlying EVM instruction-set is wrongly modeled. Specifically, the computational cost for the SLOAD instruction increases with the length of the blockchain. Our proposed performance model estimates gas usage and execution time of a smart contract at a given block-height. The new gas-cost model incorporates the block-height to eliminate irregularities in the Ethereum gas calculations. Our findings are based on extensive experiments over the entire history of the EVM blockchain.
연구 동기 및 목표
- 이더리움 스마트 컨트랙트 실행에서 실제 실행 시간과 가스 비용 간의 점점 커지는 괴리 현상을 조사하기 위해.
- 블록체인이 길어질수록 핵심 EVM 명령어인 SLOAD 및 SSTORE의 실행 시간이 증가하지만 현재의 가스 비용 모델이 이를 반영하지 못함을 규명하기 위해.
- 블록 높이를 기반으로 가스 사용량과 실행 시간을 추정하는 성능 모델을 개발하기 위해.
- 가스 비용 모델을 블록 높이를 고려해 재구성하여 단위 가스당 실행 시간의 인플레이션을 수정하기 위해.
- 특히 향후 프로브 오브 스테이크 전환을 고려할 때 이더리움의 확장성과 경제적 지속 가능성 문제를 해결하기 위해.
제안 방법
- 저자들은 파리티 이더리움 클라이언트에 거시적 및 미시적 인스트루멘테이션을 적용하여, 블록 800만까지의 전체 이더리움 블록체인 전반에서 실행 시간과 가스 사용량을 측정하였다.
- SLOAD, SSTORE, CALLCODE에 중점을 두고 EVM 명령어의 가스당 시간 비율을 분석하였으며, 실행 시간이 블록 높이에 따라 증가하는 경향을 관찰하였다.
- 특정 블록 높이에서 스마트 컨트랙트의 가스 소비와 실행 시간을 추정하기 위한 성능 모델을 구축하였다.
- 제안된 모델은 다양한 블록 높이에서 평균 컨트랙트 동작을 시뮬레이션하기 위해 표준 스마트 컨트랙트 추상화를 도입하였다.
- 새로운 가스 비용 모델은 상태 접근 명령어의 비용을 수정하여 블록 높이를 반영함으로써 실제 자원 사용량을 반영한다. 특히 SLOAD에 중점을 두었다.
- empirical 데이터를 이더리움 메인넷에서 수집하여 모델을 검증하였으며, 상태 집약적 작업에서 일관된 시간 증가 경향을 확인하였다.
실험 결과
연구 질문
- RQ1왜 고정된 가스 비용에도 불구하고 SLOAD과 같은 EVM 명령어의 실행 시간이 시간이 지남에 따라 증가하는가?
- RQ2현재의 이더리움 가스 비용 모델이 실제 컴퓨팅 자원 사용과 얼마나 괴리되어 있는가?
- RQ3블록체인의 크기가 스마트 컨트랙트 내 상태 접근 작업의 성능에 어떤 영향을 미치는가?
- RQ4블록 높이 인지 가스 비용 모델이 단위 가스당 실행 시간을 안정화하고 경제적 예측 가능성을 향상시킬 수 있는가?
- RQ5이러한 가격 오류는 특히 프로브 오브 스테이크 하에서 이더리움의 장기적 확장성과 보안에 어떤 영향을 미치는가?
주요 결과
- SLOAD 명령어의 실행 시간은 블록체인 길이에 따라 크게 증가하며, 블록 100만에서 블록 800만 사이에 최대 200% 증가하였다.
- SSTORE 명령어 역시 시간이 지남에 따라 측정 가능한 증가를 보였지만, SLOAD만큼 뚜렷하지는 않았다.
- SLOAD의 가스당 시간 비율은 일정하지 않으며 블록 높이에 따라 증가함을 확인하여 현재 가스 비용 모델의 근본적 결함을 드러냈다.
- 현재 가스 비용 모델은 상태 접근 비용 증가를 반영하지 못해 단위 가스당 실행 시간이 비례적으로 증가하는 문제를 야기한다.
- 제안된 블록 높이 인지 가스 모델은 단위 가스당 실행 시간을 성공적으로 안정화시켜 인플레이션 추세를 제거하였다.
- 연구는 스토리지 작업이 성능 저하의 주요 원인임을 확인하였으며, CPU 사용량은 가스 비용과 뚜렷한 상관관계를 보이지 않았다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.