Skip to main content
QUICK REVIEW

[논문 리뷰] A Survey of Smart Contract Formal Specification and Verification

Palina Tolmach, Yi Li|arXiv (Cornell University)|2020. 08. 06.
Blockchain Technology Applications and Security참고 문헌 211인용 수 19
한 줄 요약

이 종합적 리뷰는 스마트 계약의 형식적 명세 및 검증 기법에 대한 포괄적인 분석을 제공하며, 형식적 모델링 접근 방식, 성질 명세, 검증 방법을 분류한다. 기능적 정확성 검증에 대해 모델 체킹이 널리 사용되고 있으며, 보안 검증에 대해 상징적 실행이 주로 사용됨을 밝히고, 자동 복구, 하이브리드 모델링, 표준화 분야의 격차를 지적하며, 안전한 스마트 계약 개발을 위한 향후 연구 방향도 제시한다.

ABSTRACT

A smart contract is a computer program which allows users to automate their actions on the blockchain platform. Given the significance of smart contracts in supporting important activities across industry sectors including supply chain, finance, legal and medical services, there is a strong demand for verification and validation techniques. Yet, the vast majority of smart contracts lack any kind of formal specification, which is essential for establishing their correctness. In this survey, we investigate formal models and specifications of smart contracts presented in the literature and present a systematic overview in order to understand the common trends. We also discuss the current approaches used in verifying such property specifications and identify gaps with the hope to recognize promising directions for future work.

연구 동기 및 목표

  • 스마트 계약에 대한 형식적 모델링, 명세, 검증 기법을 체계적으로 분석하기 위해.
  • 스마트 계약 문헌에서 일반적으로 검증되는 공통 성질과 보안 보장을 특정하기 위해.
  • 기능적 정확성과 보안에 적용된 형식적 방법을 기반으로 분류하기 위해.
  • 기존 접근 방식의 한계를 부각하고 향후 연구 방향을 제안하기 위해.
  • 표준화된 관행과 검증된 라이브러리를 통한 형식적 방법의 도입을 촉진하기 위해.

제안 방법

  • 이 리뷰는 스마트 계약에 적용된 형식적 방법에 중점을 두고, 구조화된 검색 쿼리를 Google Scholar를 통해 수행한 체계적 문헌 조사 방법을 사용한다.
  • 형식적 모델링 기법을 계약 수준 및 프로그램 수준의 표현으로 분류하며, 모델 체킹과 상징적 실행에 특별한 중점을 둔다.
  • 스마트 계약 성질의 분류 체계를 수립하여, 기능적 정확성, 보안, 공정성 및 활성성과 같은 시간적 성질을 포함한다.
  • 상징적 실행, 정리 증명, 런타임 검증과 같은 검증 기법을 평가하며, 이더리움 스마트 계약에 대한 사례 연구를 포함한다.
  • 정적 및 동적 분석을 조합한 하이브리드 접근 방식을 통합하고, 테스트 셋과 가스 효율성 제약에 기반한 자동 패치 생성의 효과를 평가한다.
  • 기준 데이터셋, 보안 패턴, 그리고 SafeMath와 같은 형식적으로 검증된 라이브러리를 검토하여 실용적 도입과 도구의 효과성을 평가한다.

실험 결과

연구 질문

  • RQ1어떤 형식적 기법이 스마트 계약의 모델링, 명세, 검증에 사용되며, 일반적으로 어떤 성질이 대상이 되는가?
  • RQ2계약 수준 및 프로그램 수준의 형식적 체계는 기능적 정확성과 보안 검증에서 어떻게 비교되는가?
  • RQ3블록체인 특유의 제약 조건으로 인해 형식적 방법을 스마트 계약에 적용할 때 발생하는 주요 과제는 무엇인가?
  • RQ4정적 및 동적 검증을 조합한 하이브리드 분석 기법이 취약점을 탐지하는 데 얼마나 효과적인가?
  • RQ5표준화된 패턴, 검증된 라이브러리, 벤치마크는 스마트 계약의 형식적 검증 발전에 어떤 역할을 하는가?

주요 결과

  • 모델 체킹은 계약 수준에서 기능적 정확성 검증에 널리 사용되며, 특히 불변성 및 활성성과 같은 성질에 대해 주로 적용된다.
  • 상징적 실행과 정리 증명은 프로그램 수준의 검증에 주로 사용되며, 재진입 및 오버플로우와 같은 보안 취약점을 탐지하는 데 특히 효과적이다.
  • 런타임 검증 기법은 실행 추적을 분석하여 공정성 및 死록업과 같은 시간적 성질 위반을 효과적으로 탐지할 수 있다.
  • 테스트 셋과 가스 제약 조건에 기반한 자동 패치 생성 기법은 기존 동작을 손상시키지 않고 취약점을 수정하는 데 유망한 성과를 보였다.
  • SafeMath와 같은 형식적으로 검증된 라이브러리의 도입은 형식적 방법의 실용성과 영향력을 입증한다.
  • 협업 기반의 표준화 및 벤치마크 추세가 증가하고 있으며, 정제된 데이터셋과 평가 프레임워크가 도구의 신뢰성과 재현 가능성을 향상시키고 있다.

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

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

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

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