Towards a Smart Contract Verification Framework in Coq

07/24/2019
by   Danil Annenkov, et al.
0

We propose a novel way of embedding functional smart contract languages into the Coq proof assistant using meta-programming techniques. Our framework allows for developing the meta-theory of smart contract languages using the deep embedding and provides a convenient way for reasoning about concrete contracts using the shallow embedding. The proposed approach allows to make a connection between the two embeddings in a form of a soundness theorem. As an instance of our approach we develop an embedding of the Oak smart contract language in Coq and verify several important properties of a crowdfunding contract. The developed techniques are applicable to all functional smart contract languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/24/2019

ConCert: A Smart Contract Certification Framework in Coq

We present a new way of embedding functional languages into the Coq proo...
research
06/28/2021

Verification of a Smart Contract for a Simple Casino

We describe the verification of an existing smart contract for a simple ...
research
01/15/2021

An Abstract Contract Theory for Programs with Procedures

When developing complex software and systems, contracts provide a means ...
research
12/16/2020

Extracting Smart Contracts Tested and Verified in Coq

We implement extraction of Coq programs to functional languages based on...
research
08/06/2021

Extracting functional programs from Coq, in Coq

We implement extraction of Coq programs to functional languages based on...
research
10/10/2019

Contract Statements Knowledge Service for Chatbots

Towards conversational agents that are capable of handling more complex ...
research
06/05/2019

A Decentralized IoT Data Marketplace

This paper proposes an architecture for dynamic decentralized marketplac...

Please sign up or login with your details

Forgot password? Click here to reset