스마트 계약 저장 비용 혁신: 영구 상태 최소화와 누적기 기반 ERC20

스마트 계약 저장 비용 혁신: 영구 상태 최소화와 누적기 기반 ERC20
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

이 논문은 이더리움의 저장 비용 구조가 과소평가되어 상태가 지속적으로 증가하는 문제를 지적하고, 외부 저장 네트워크와 암호학적 누적기를 활용해 계약 상태를 상수 크기로 유지하는 새로운 패러다임을 제안한다. ERC20 토큰을 사례로 구현한 결과, 기존 방식에 비해 거래 수수료를 최대 10배 절감할 수 있음을 보인다.

상세 분석

본 연구는 이더리움 스마트 계약이 데이터를 영구적으로 저장하도록 설계돼 있기 때문에, 저장 비용이 일회성으로만 부과되고 이후 유지비가 없다는 구조적 결함을 지적한다. 이러한 설계는 “공통의 비극”을 초래해 전체 상태 데이터가 지속적으로 증가하고, 결국 전체 노드가 상태를 유지하기 위한 하드웨어 요구량이 급증해 네트워크 중앙집중화를 야기한다. 저자들은 이를 해결하기 위해 두 가지 핵심 아이디어를 제시한다. 첫째, 계약 내부에 유지되는 상태를 상수 크기로 제한하고, 실제 데이터는 외부 저장 네트워크(예: Swarm, IPFS, Storj) 에 보관한다. 둘째, 외부에 저장된 데이터를 검증하기 위해 해시 트리 기반의 범용 누적기(Universal Accumulator) 를 사용한다. 누적기는 집합의 원소를 압축된 해시값 하나로 표현하고, 원소의 포함·불포함을 증명할 수 있는 증명서(witness)를 생성한다. 이 증명서는 로그 규모의 데이터만 전송하면 되므로, 클라이언트는 전체 데이터를 다운로드하지 않고도 데이터의 진위성을 검증할 수 있다.

ERC20 토큰 구현에 적용한 구체적 설계는 기존의 balancesallowance 매핑을 각각 하나의 누적기로 대체한다. balancesAcc는 (주소, 잔액) 튜플을, allowedAddressesAccallowedBalancesAcc는 허가 관계와 허가된 금액을 각각 누적한다. 토큰 전송 시에는 송신·수신 주소와 잔액에 대한 멤버십 증명과, 잔액 업데이트에 필요한 업데이트 증명을 모두 제출한다. 이러한 과정은 모두 스마트 계약 내부에 저장되는 데이터 양을 일정하게 유지하면서, 외부 저장소와의 상호작용을 통해 필요한 정보를 얻는다.

경제적 측면에서 저자들은 현재 이더리움 가스 모델이 저장 비용을 충분히 반영하지 않아 누적기 기반 설계가 불리하게 작동한다는 점을 실험적으로 확인한다. 가스 비용 분석 결과, 400,000 계정·400,000 승인 상황에서도 기존 방식보다 누적기 기반 구현이 약 5~10배 적은 가스를 소비한다. 이는 저장 비용을 상태 크기에 비례하도록 조정하고, 저장 연산에 대한 “재발 비용(recurring fee)”을 도입한다면, 누적기 기반 설계가 장기적으로 훨씬 효율적일 것임을 시사한다.

마지막으로 논문은 제안된 가격 모델을 세 가지 원칙으로 정리한다. (1) 저장 연산 비용을 채굴자가 실제 수행해야 하는 작업량에 기반해 책정, (2) 계약이 차지하는 상태 크기에 비례하는 정기적인 사용료 부과, (3) 사용되지 않거나 오래된 상태를 정리할 수 있는 메커니즘 제공. 이러한 정책이 도입되면, 상태 폭증을 억제하면서도 외부 저장소와 암호학적 증명을 활용한 고효율 dApp 개발이 가능해진다.


댓글 및 학술 토론

Loading comments...

의견 남기기