Skip to main content
QUICK REVIEW

[논문 리뷰] Formal Specification and Verification of Smart Contracts for Azure Blockchain

Shuvendu K. Lahiri, Shuo Chen|arXiv (Cornell University)|2018. 12. 20.
Blockchain Technology Applications and Security참고 문헌 17인용 수 55
한 줄 요약

이 논문은 상태 기계 모델과 접근 제어 정책을 기반으로 한 의미적 일치를 보장하는 Solidity 스마트 계약을 위한 형식적 검증기인 VeriSol을 제시한다. 이는 Azure Blockchain Workbench 내 모든 스마트 계약에 대한 검증을 자동화하여 이전에 알려지지 않은 버그를 발견하고 수정할 수 있도록 하며, 수정 후 모든 계약에 대해 완전한 검증이 성공함을 보여준다.

ABSTRACT

Ensuring correctness of smart contracts is paramount to ensuring trust in blockchain-based systems. This paper studies the safety and security of smart contracts in the \emph{Azure Blockchain Workbench}, an enterprise Blockchain-as-a-Service offering from Microsoft. As part of this study, we formalize \emph{semantic conformance} of smart contracts against a state machine model with access-control policy and develop a highly-automated formal verifier for Solidity that can produce proofs as well as counterexamples. We have applied our verifier {\sc VeriSol} to analyze {\it all} contracts shipped with the Azure Blockchain Workbench, which includes application samples as well as a governance contract for Proof of Authority (PoA). We have found previously unknown bugs in these published smart contracts. After fixing these bugs, {\sc VeriSol} was able to successfully perform full verification for all of these contracts.

연구 동기 및 목표

  • Azure Blockchain Workbench 내 스마트 계약을 형식적으로 검증하여 기업용 블록체인 시스템의 정확성과 신뢰성을 확보한다.
  • 접근 제어 정책을 포함한 상태 기계 모델에 기반한 스마트 계약의 의미적 일치를 정의하고 강제한다.
  • Solidity 계약에 대해 증명과 반례를 생성할 수 있는 자동화된 형식적 검증 도구인 VeriSol을 개발한다.
  • Azure Blockchain Workbench에 포함된 거버넌스 및 애플리케이션 샘플 포함 모든 스마트 계약을 분석하여 이전에 발견되지 않은 취약점을 탐지한다.

제안 방법

  • 접근 제어 정책을 통합한 상태 기계 모델을 사용하여 스마트 계약 동작을 형식화하여 보안 의미를 포괄한다.
  • 기호 실행과 정리 증명을 통합한 고도로 자동화된 Solidity 전용 형식적 검증기인 VeriSol을 설계한다.
  • Azure Blockchain Workbench 배포판에 포함된 모든 스마트 계약에 검증기를 적용한다.
  • 검증에 실패한 경우 정확한 버그 위치 특정을 가능하게 하기 위해 정확성의 형식적 증명 또는 반례를 생성한다.
  • 도구 체인을 사용하여 애플리케이션 수준의 계약과 Proof of Authority 거버넌스 계약을 모두 검증한다.
  • 발견된 버그를 반복적으로 수정하고 재검증하여 해결 여부와 완전한 정확성을 확인한다.

실험 결과

연구 질문

  • RQ1Azure Blockchain Workbench에 배포된 엔터프라이즈 수준의 스마트 계약에서 의미적 및 보안 버그를 효과적으로 탐지할 수 있는 형식적 검증 접근법은 가능한가?
  • RQ2실제 스마트 계약에서 접근 제어 제약 조건이 있는 상태 기계 모델에 대한 일치성을 확보하기 위해 자동화된 검증이 얼마나 효과적인가?
  • RQ3주요 클라우드 제공업체의 블록체인 제공물에서 생산 준비가 된 스마트 계약에 존재하는 이전에 발견되지 않은 유형의 버그는 무엇인가?
  • RQ4생산용 블록체인 플랫폼 내 모든 계약을 수동 간섭 없이 자동화된 형식적 검증으로 커버할 수 있는가?
  • RQ5발견된 취약점을 수정한 후 형식적 검증을 통해 얼마나 광범위하게 완전한 검증을 달성할 수 있는가?

주요 결과

  • VeriSol은 Azure Blockchain Workbench에 함께 제공되는 모든 스마트 계약, 즉 애플리케이션 샘플과 PoA 거버넌스 계약 모두에서 이전에 알려지지 않은 버그를 성공적으로 식별했다.
  • 보고된 버그를 수정한 후 VeriSol은 배포판 내 모든 계약에 대해 완전한 형식적 검증을 수행할 수 있었다.
  • 형식적 검증 과정에서 이전 테스트나 코드 리뷰로는 발견되지 않은 의미적 모순과 접근 제어 위반이 드러났다.
  • 결과적으로 기업용 플랫폼에서 제공하는 생산 준비가 된 스마트 계약조차도 미묘하고 악용 가능한 결함을 내재하고 있을 수 있음을 입증한다.
  • 수정 후 완전한 검증을 성공적으로 달성한 VeriSol의 성공은 자동화된 검증 파이프라인의 효과성을 확인한다.

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

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

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

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