Skip to main content
QUICK REVIEW

[논문 리뷰] Maintaining Smart Contracts on Ethereum: Issues, Techniques, and Future Challenges

Jiachi Chen, Xin Xia|arXiv (Cornell University)|2020. 07. 01.
Blockchain Technology Applications and Security참고 문헌 101인용 수 27
한 줄 요약

이 논문은 이더리움 스마트 계약의 배포 후 유지보수 과제에 대한 최초의 실증 연구를 제시하며, 수정, 적응, 완벽화, 예방의 카테고리에 속하는 9개의 유지보수 전용 문제와 41개의 방법을 규명한다. 131篇의 논문에 대한 체계적 문헌 고찰과 165명의 GitHub 개발자에 대한 설문 조사 결과, 도구 부족, 불가역성 제약, 변화하는 생태계 요구 사항 등의 심각한 격차가 드러났으며, 스마트 계약 유지보수 향상을 위한 실질적인 통찰과 향후 연구 방향을 제시한다.

ABSTRACT

Software development is a very broad activity that captures the entire life cycle of a software, which includes designing, programming, maintenance and so on. In this study, we focus on the maintenance-related concerns of the post-deployment of smart contracts. Smart contracts are self-executed programs that run on a blockchain. They cannot be modified once deployed and hence they bring unique maintenance challenges compared to conventional software. According to the definition of ISO/IEC 14764, there are four kinds of software maintenance, i.e., corrective, adaptive, perfective, and preventive maintenance. This study aims to answer (i) What kinds of issues will smart contract developers encounter for corrective, adaptive, perfective, and preventive maintenance after they are deployed to the Ethereum? (ii) What are the current maintenance-related methods used for smart contracts? To obtain the answers to these research questions, we first conducted a systematic literature review to analyze 131 smart contract related research papers published from 2014 to 2020. Since the Ethereum ecosystem is fast-growing, some results from previous publications might be out-of-date and there may be a gap between academia and industry. To address this, we performed an online survey of smart contract developers on Github to validate our findings and received 165 useful responses. Based on the survey feedback and literature review, we present the first empirical study on smart contract maintenance-related concerns. Our study can help smart contract developers better maintain their smart contract-based projects, and we highlight some key future research directions to improve the Ethereum ecosystem.

연구 동기 및 목표

  • 배포 후 이더리움 스마트 계약의 유지보수 관련 고려사항을 수정, 적응, 완벽화, 예방의 카테고리로 식별하고 분류하는 것.
  • 포괄적인 문헌 고찰을 통해 스마트 계약 개발에서 사용되는 현재의 유지보수 기법을 분석하는 것.
  • 165명의 스마트 계약 개발자에 대한 온라인 설문 조사를 통해 실무자 경험을 검증하고 맥락화하는 것.
  • 스마트 계약 시스템의 지속 가능성과 유지가능성을 향상시키기 위한 핵심 과제와 향후 연구 방향을 부각하는 것.

제안 방법

  • 2014년에서 2020년 사이에 출판된 스마트 계약 관련 연구 논문 131편에 대한 체계적 문헌 고찰을 수행하여 유지보수 문제와 기법을 규명하였다.
  • 실제로 활동 중인 165명의 GitHub 스마트 계약 개발자 대상 온라인 설문 조사를 실시하여 문헌 고찰의 결과를 검증하고 맥락화하였다.
  • 유지보수 문제를 ISO/IEC 14764 카테고리인 수정, 적응, 완벽화, 예방에 더해, 총 네 가지의 프로세스 수준 과제로 분류하였다.
  • 응용 환경에 따라 유지보수 기법을 오프라인 검사, 온라인 검사, 기타 기법의 세 유형으로 분류하였다.
  • 학술적 인사이트와 실무자 데이터를 결합하여 질적 인사이트와 경험적 데이터를 융합함으로써 결과의 타당성과 신뢰성을 확보하기 위해 혼합 방법 트라이앵귤레이션 기법을 사용하였다.
  • 학술 연구와 산업 현장 간 격차를 분석하였으며, 특히 도구, 보안, 변화하는 이더리움 표준 측면에서의 격차를 중심으로 분석하였다.

실험 결과

연구 질문

  • RQ1이더리움에 배포한 후 스마트 계약 개발자가 수정, 적응, 완벽화, 예방 유지보수 과정에서 마주하는 문제의 유형은 무엇인가?
  • RQ2현재 스마트 계약에 사용되는 유지보수 관련 기법은 무엇이며, 실무에서는 어떻게 적용되고 있는가?
  • RQ3학술 문헌에서 규명된 과제와 기법이 이더리움 생태계 내 실질적인 개발자 경험과 얼마나 일치하는가?

주요 결과

  • ISO/IEC 14764 유지보수 카테고리의 네 영역에서 9개의 구체적인 유지보수 문제가 규명되었으며, 이는 불가역성 제약, 가스 비용 제한, 소스 코드 가용성 부족 등을 포함한다.
  • 전체적인 프로세스 수준 과제로는 표준화된 개발 관행 부족, 배포 후 유지보수를 위한 도구 부족 등 4가지가 발견되었다.
  • 41篇의 논문을 분석하여 13개의 독립된 유지보수 기법을 규명하였으며, 이는 오프라인 검사(예: 정적 분석), 온라인 검사(예: 런타임 모니터링), 기타 기법(예: 형식적 검증)으로 분류되었다.
  • 설문 조사 결과, 제3자 계약 종속성과 환경의 불안정성으로 인해 적응 유지보수 과정에서 개발자들이 심각한 과제를 겪고 있음을 확인하였다.
  • 기준 데이터셋에 포함된 취약한 스마트 계약 중 42%만이 9개의 취약성 분석 도구가 모두 탐지하였으며, 이는 도구의 효과성에 심각한 격차가 있음을 시사한다.
  • 대규모 분석에서 47,518건의 검증된 계약을 대상으로 한 분석 결과, Mythril이 평가된 9개 도구 중에서 가장 높은 탐지 정확도(27%)를 기록하였다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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