SciviK: A Versatile Framework for Specifying and Verifying Smart Contracts

03/03/2021
by   Shaokai Lin, et al.
0

The growing adoption of smart contracts on blockchains poses new security risks that can lead to significant monetary loss, while existing approaches either provide no (or partial) security guarantees for smart contracts or require huge proof effort. To address this challenge, we present SciviK, a versatile framework for specifying and verifying industrial-grade smart contracts. SciviK's versatile approach extends previous efforts with three key contributions: (i) an expressive annotation system enabling built-in directives for vulnerability pattern checking, neural-based loop invariant inference, and the verification of rich properties of real-world smart contracts (ii) a fine-grained model for the Ethereum Virtual Machine (EVM) that provides low-level execution semantics, (iii) an IR-level verification framework integrating both SMT solvers and the Coq proof assistant. We use SciviK to specify and verify security properties for 12 benchmark contracts and a real-world Decentralized Finance (DeFi) smart contract. Among all 158 specified security properties (in six types), 151 properties can be automatically verified within 2 seconds, five properties can be automatically verified after moderate modifications, and two properties are manually proved with around 200 lines of Coq code.

READ FULL TEXT
research
07/09/2019

solc-verify: A Modular Verifier for Solidity Smart Contracts

We present solc-verify, a source-level verification tool for Ethereum sm...
research
04/04/2018

Executable Operational Semantics of Solidity

Bitcoin has attracted everyone's attention and interest recently. Ethere...
research
01/31/2023

HoRStify: Sound Security Analysis of Smart Contracts

The cryptocurrency Ethereum is the most widely used execution platform f...
research
07/05/2023

Formally Verifying a Real World Smart Contract

Nowadays, smart contracts have become increasingly popular and, as with ...
research
06/08/2023

Formalizing, Verifying and Applying ISA Security Guarantees as Universal Contracts

Progress has recently been made on specifying instruction set architectu...
research
04/27/2020

Data-Driven Model-Based Analysis of the Ethereum Verifier's Dilemma

In proof-of-work based blockchains such as Ethereum, verification of blo...
research
04/20/2022

Distributed Runtime Verification of Metric Temporal Properties for Cross-Chain Protocols

Transactions involving multiple blockchains are implemented by cross-cha...

Please sign up or login with your details

Forgot password? Click here to reset