Skip to main content
QUICK REVIEW

[논문 리뷰] A Hybrid Formal Verification System in Coq for Ensuring the Reliability and Security of Ethereum-based Service Smart Contracts

Zheng Yang, Hang Lei|arXiv (Cornell University)|2019. 02. 23.
Security and Verification in Computing참고 문헌 38인용 수 5
한 줄 요약

이 논문은 이더리움 스마트 컨트랙트를 솔리디티 소스 코드 수준에서 검증하기 위해 Coq에 구현된 하이브리드 형식 검증 시스템인 FSPVM-E를 제안한다. 실행-검증 이sov모르피즘을 통한 기호 실행과 고차수 논리 정리 증명을 결합함으로써, 자동화되고 형식적으로 검증된 신뢰성 및 보안 성질 분석이 가능해지며, 표준 취약점 탐지 및 ERC20 준수 검증을 포함한다.

ABSTRACT

This paper reports on the development of a formal symbolic process virtual machine (FSPVM) denoted as FSPVM-E for verifying the reliability and security of Ethereum-based services at the source code level of smart contracts, and a Coq proof assistant is employed for both programming the system and for proving its correctness. The current version of FSPVM-E adopts execution-verification isomorphism, which is an application extension of Curry-Howard isomorphism, as its fundamental theoretical framework to combine symbolic execution and higher-order logic theorem proving. The four primary components of FSPVM-E include a general, extensible, and reusable formal memory framework, an extensible and universal formal intermediate programming language denoted as Lolisa, which is a large subset of the Solidity programming language using generalized algebraic datatypes, the corresponding formally verified interpreter of Lolisa, denoted as FEther, and assistant tools and libraries. The self-correctness of all components is certified in Coq. Currently, FSPVM-E supports the ERC20 token standard, and can automatically and symbolically execute Ethereum-based smart contracts, scan their standard vulnerabilities, and verify their reliability and security properties with Hoare-style logic in Coq. To the best of authors' knowledge, the present work represents the first hybrid formal verification system implemented in Coq for Ethereum smart contracts that is applied at the Solidity source code level.

연구 동기 및 목표

  • 이더리움 기반 서비스 시스템에서 형식적으로 검증된 스마트 컨트랙트 검증의 필수적인 필요성을 해결하기 위해.
  • 런타임 장애와 악용을 방지하기 위해 스마트 컨트랙트의 소스 코드 수준에서 정확성과 보안성을 보장하는 시스템을 개발하기 위해.
  • 기호 실행과 고차수 논리 정리 증명을 통합된, 형식적으로 검증된 프레임워크 안에서 통합하기 위해.
  • 재사용 가능한 구성 요소를 갖춘 자가 수정형이고 확장 가능한 검증 스택을 제공하기 위해.
  • ERC20 토큰 준수와 같은 표준 스마트 컨트랙트 패턴의 검증을 지원하며, Coq에서 형식 증명을 제공하기 위해.

제안 방법

  • 시스템은 Coq에 완전히 구현된 형식적 기호 프로세스 가상머신(FSPVM-E)을 기반으로 하며, 종단 간 검증을 위해 설계되었다.
  • 실행-검증 이sov모르피즘—Curry-Howard 이sov모르피즘의 일반화—을 활용하여 기호 실행과 고차수 논리 추론을 통합한다.
  • 정확한 의미 체계를 위해 일반화된 대수적 데이터 유형을 사용하여 솔리디티의 큰 부분집합으로서 도메인 특화 중간 언어인 Lolisa를 형식적으로 정의한다.
  • 형식적으로 검증된 인터프리터 FEther가 기호적으로 Lolisa 프로그램을 실행하여 실행 의미 체계의 정확성을 보장한다.
  • 이더리움 상태와 스토리지의 정밀한 모델링을 지원하는 재사용 가능한 형식 메모리 프레임워크가 존재한다.
  • 시스템은 Hoare 스타일 논리 성질의 검증을 자동화하고 표준 취약점을 탐지하기 위해 보조 도구와 라이브러리를 통합한다.

실험 결과

연구 질문

  • RQ1Coq에 의해 구현된 하이브리드 형식 검증 시스템을 통해 이더리움 스마트 컨트랙트의 기호 실행과 고차수 논리 정리 증명을 동시에 지원할 수 있는가?
  • RQ2실행-검증 이sov모르피즘은 스마트 컨트랙트 검증에서 기호 실행과 형식 증명을 효과적으로 통합하기 위해 어떻게 적용될 수 있는가?
  • RQ3형식적으로 검증된 중간 언어(Lolisa)가 스마트 컨트랙트 의미 체계를 정확하게 모델링하면서도 자동 검증을 가능하게 할 수 있는가?
  • RQ4시스템은 알려진 취약점을 자동으로 탐지하고, ERC20 준수 컨트랙트의 보안성 및 신뢰성 성질을 검증할 수 있는가?
  • RQ5모든 구성 요소가 Coq에서 형식적으로 검증된 자가 수정형이고 확장 가능한 검증 스택을 구축하는 것은 가능한가?

주요 결과

  • FSPVM-E는 솔리디티 소스 코드 수준에서 동작하는 Coq에 의해 구현된 첫 번째 하이브리드 형식 검증 시스템이다.
  • FSPVM-E의 모든 구성 요소—메모리 모델, Lolisa 언어, FEther 인터프리터—는 Coq 내부에서 정확성에 대해 형식적으로 검증되었다.
  • 시스템은 이더리움 스마트 컨트랙트의 기호 실행을 성공적으로 지원하며, 재entrancy 및 오버플로우 문제와 같은 표준 취약점을 탐지할 수 있다.
  • FSPVM-E는 Hoare 스타일 논리로 신뢰성 및 보안 성질을 형식적으로 검증할 수 있으며, 모든 증명이 Coq에서 완전히 수행된다.
  • 시스템은 ERC20 토큰 컨트랙트에 대해 검증되었으며, 표준 준수를 형식 증명을 통해 검증할 수 있음을 입증했다.
  • 실행-검증 이sov모르피즘의 사용은 기호 실행과 정리 증명의 원활한 통합을 가능하게 하여 자동화와 타당성을 모두 향상시켰다.

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

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

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

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