[논문 리뷰] Towards Safer Smart Contracts: A Survey of Languages and Verification Methods
스마트 컨트랙트 언어(고수준, IR, 및 저수준)와 검증 방법에 대한 포괄적 고찰로, 보안 속성, 형식적 의미론, 계량 및 검증 도구 체인에 중점을 둡니다. 설계의 무역오프를 분석하고 더 안전한 스마트 컨트랙트를 위한 향후 방향을 제시합니다.
With a market capitalisation of over USD 205 billion in just under ten years, public distributed ledgers have experienced significant adoption. Apart from novel consensus mechanisms, their success is also accountable to smart contracts. These programs allow distrusting parties to enter agreements that are executed autonomously. However, implementation issues in smart contracts caused severe losses to the users of such contracts. Significant efforts are taken to improve their security by introducing new programming languages and advance verification methods. We provide a survey of those efforts in two parts. First, we introduce several smart contract languages focussing on security features. To that end, we present an overview concerning paradigm, type, instruction set, semantics, and metering. Second, we examine verification tools and methods for smart contract and distributed ledgers. Accordingly, we introduce their verification approach, level of automation, coverage, and supported languages. Last, we present future research directions including formal semantics, verified compilers, and automated verification.
연구 동기 및 목표
- 보안 특징과 아키텍처(패러다임, 타입, 명령 세트, 의미론, 계량)를 강조하여 현재의 스마트 컨트랙트 언어를 조사한다.
- 저수준, IR, 고수준 표현에 걸친 스마트 컨트랙트의 검증 도구와 방법을 조사하되, 자동화, 커버리지, 언어 지원을 포함한다.
- 스마트 컨트랙트에 특화된 보안 속성(호출 무결성, 원자성, 독립성, 런타임 정확성)을 분석하고, 형식적 의미론과 검증된 컴파일러와 같은 향후 연구 방향을 논의한다.
제안 방법
- 언어를 고수준, 중간 표현(IR), 저수준으로 분류하고, 각각의 패러다임, 명령 세트, 의미론, 계량에 대해 논의한다.
- 보안 속성과 언어 설계가 재진입, 원자성, 외부 호출을 어떻게 다루는지 검토한다.
- 모델 기반(자동) 대 증명 기반(반자동) 검증 접근법을 조사하고 자동화, 커버리지, 지원 언어에 대해 논의한다.
- 검증 도구들(Securify, Mythril, Oyente, ZEUS, ECF, Maian, K frameworks, Lem, Coq, F*)를 요약하고 이를 저수준, IR, 또는 고수준 입력에 매핑한다.
- 형식적 의미론 노력과 그것이 검증된 컴파일러와 안전한 언어 설계에 미치는 영향을 논의한다.
실험 결과
연구 질문
- RQ1고수준, IR, 저수준 표현에 걸친 스마트 컨트랙트의 안전성에 영향을 미치는 핵심 언어 설계 선택은 무엇인가?
- RQ2스마트 컨트랙트 보안을 보장하기 위해 어떤 검증 접근법이 사용되며, 자동화, 커버리지, 언어 지원은 도구들 간에 어떻게 다르게 나타나는가?
- RQ3형식적 의미론과 검증된 컴파일러의 어떤 향후 방향이 더 안전한 스마트 컨트랙트를 위해 가장 유망한가?
주요 결과
- 고수준 언어(예: Solidity, Vyper)는 점점 더 명령 세트를 제한하고 안전성을 향상시키기 위해 명시적 상태 전이를 장려한다.
- Scilla, Simplicity 등과 같은 중간 표현(IR)은 형식적 의미론과 검증 준비성을 강조한다; 저수준 언어는 결정적 실행과 계량 전략(가스, 스크립트 크기)을 우선한다.
- 다양한 검증 도구가 서로 다른 입력(저수준 바이트코드, IR, 또는 고수준 코드)에서 작동하며 자동화와 커버리지의 정도가 다르다; 모델 기반 도구는 완전 자동화를 가능하게 하고, 증명 기반 도구는 부분적으로 자동화된다.
- 형식적 의미론 노력(K 프레임워크, Coq, Isabelle/HOL, F*)은 엄격한 검증을 지원하며, 검증된 컴파일러와 VM과 원장 의미론의 분리에 대한 추진이 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.