Skip to main content
QUICK REVIEW

[논문 리뷰] A Comprehensive Survey of Upgradeable Smart Contract Patterns

Sajad Meisami, William Edward Bodell|arXiv (Cornell University)|2023. 04. 06.
Blockchain Technology Applications and Security인용 수 5
한 줄 요약

이 논문은 이더리움에서 프oxy 아키텍처를 사용한 업그레이드 가능한 스마트 계약 패턴에 대한 종합적인 설문 조사 결과를 제시한다. 64,000개의 검증된 계약을 분석하여 업그레이드 가능한 패턴을 식별하고 분류하였다. Slither 기반의 맞춤형 탐지 프레임워크를 통합한 정적 분석을 통해 기존의 70%에 달하는 오류 경고를 거의 제로 수준으로 감소시켰으며, 생산 환경에서 안정적이고 확장 가능한 방식으로 보안성과 업그레이드 가능성 있는 스마트 계약을 식별하는 데에 유용한 방법을 제공한다.

ABSTRACT

In this work, we provide a comprehensive survey of smart contract upgradability patterns using proxies. A primary characteristic of smart contracts on the Ethereum blockchain is that they are immutable once implemented, no changes can be made. Taking human error into account, as well as technology improvements and newly discovered vulnerabilities, there has been a need to upgrade these smart contracts, which may hold enormous amounts of Ether and hence become the target of attacks. Several such attacks have caused tremendous losses in the past, as well as millions of dollars in Ether which has been locked away in broken contracts. Thus far we have collected many upgradable proxy patterns and studied their features to build a comprehensive catalog of patterns. We present a summary of these upgradable proxy patterns which we collected and studied. We scraped the source code for approximately 100000 verified contracts from Etherscan.io, the most popular block explorer for Ethereum, out of which we extracted around 64k unique files - most containing multiple contracts. We have begun to automate the analysis of these contracts using the popular static analysis tool Slither, while at the same time implementing much more robust detection of upgradable proxies using this framework. Comparing the results of the original implementation to our own, we have found that approximately 70 percent of the contracts which were initially flagged as upgradeable proxies are false positives which we have eliminated.

연구 동기 및 목표

  • 인간의 실수, 변화하는 요구사항, 그리고 새로운 취약점으로 인해 발생하는 스마트 계약의 업그레이드 가능성에 대한 안정적이고 신뢰할 수 있는 해결책이 절실한 이유를 해결하기 위해.
  • 실제 이더리움 스마트 계약에서 사용되는 기존의 프록시 기반 업그레이드 가능성 패턴을 분석하고 카탈로그화하기 위해.
  • 기존 정적 분석 도구의 정확도를 향상시켜 진정으로 업그레이드 가능한 스마트 계약을 식별할 수 있도록 오류 경고를 줄이기 위해.
  • 대규모 검증된 계약 코퍼스 전반에서 업그레이드 가능한 프록시 패턴을 탐지하기 위한 확장 가능한 프레임워크를 개발하고 검증하기 위해.
  • 향후 보다 안전한 스마트 계약의 진화 및 형식적 검증을 위한 연구와 도구 개발의 기초를 마련하기 위해.

제안 방법

  • 저자는 이더리움 블록체인 탐색기에서 64,000개의 고유한 스마트 계약 파일을 크롤링하고 분석하였다. 이는 주로 검증된 계약에 집중한 것이다.
  • 수집된 계약들에서 잠재적인 업그레이드 가능한 프록시 패턴을 탐지하기 위해 정적 분석 도구인 Slither를 적용하였다.
  • 원래 Slither의 구현보다 더 높은 정확도를 확보하기 위해 맞춤형 탐지 프레임워크를 구현하였다.
  • 동일한 데이터셋을 대상으로 원래 Slither 출력 결과와 비교하여 프레임워크의 정확도를 검증하였다.
  • 프록시 패턴의 의미적 및 구조적 분석을 통해 오류 경고를 체계적으로 식별하고 제거하였다.
  • 최종적으로 업그레이드 가능한 패턴 카탈로그는 청소된 고신뢰도의 탐지 결과 집합에서 유도되었다.

실험 결과

연구 질문

  • RQ1이더리움에서 업그레이드 가능한 스마트 계약에 널리 사용되는 주요 패턴은 무엇인가?
  • RQ2기존의 정적 분석은 진정으로 업그레이드 가능한 프록시 계약을 얼마나 정확하게 식별하는가?
  • RQ3현재 업그레이드 가능한 스마트 계약 탐지 방법에서 오류 경고의 비율은 얼마인가?
  • RQ4맞춤형 탐지 프레임워크는 업그레이드 가능한 계약 식별에서 오류 경고를 크게 줄일 수 있는가?
  • RQ5진정으로 업그레이드 가능한 프록시와 오류 경고를 구별하는 데에 필요한 구조적 및 의미적 특성은 무엇인가?

주요 결과

  • 약 100,000개의 검증된 계약 중에서 64,000개의 고유한 계약 파일이 업그레이드 가능성 분석을 위해 추출되고 분석되었다.
  • 원래 Slither 기반 탐지 방법은 결과의 약 70%를 업그레이드 가능한 프록시로 표시했지만, 대부분이 오류 경고였다.
  • 저자의 향상된 탐지 프레임워크는 이러한 오류 경고의 대부분을 성공적으로 제거하여 신뢰성을 크게 향상시켰다.
  • 연구 결과에 따르면 실세계의 이더리움 계약에서 프록시 기반 업그레이드 가능성의 높은 확산을 확인했지만, 동시에 현재 자동화된 탐지 방법의 심각한 결함도 드러났다.
  • 최종 업그레이드 가능한 패턴 카탈로그는 청소된 고신뢰도 데이터셋 기반으로 만들어져 향후 분석 및 도구 개발에 더 정확한 기반을 제공한다.
  • 자동화된 업그레이드 가능한 계약 탐지에는 문법적 패턴 매칭을 넘어서 의미적 및 구조적 지능이 필요하다는 점을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.