Formal Specification and Verification of Smart Contracts for Azure Blockchain

12/20/2018
by   Shuvendu K. Lahiri, et al.
0

In this paper, we describe the formal verification of Smart Contracts offered as part of the Azure Blockchain Content and Samples on github. We describe two sources of formal verification problems: (i) semantic conformance checking of smart contracts against a state-machine and access control based Azure Blockchain Workbench application configuration, and (ii) safety verification for smart contracts implementing the authority governance in Ethereum Proof-of-Authority (PoA) on Azure. We describe a new program verifier VeriSol for Solidity based on a translation to Boogie and leveraging the Boogie verification toolchain. We describe our experience applying VeriSol to Workbench sample contracts and Proof of Authority governance contracts in Azure, and finding previously unknown bugs in well-tested smart contracts. We provide push-button unbounded verification for the semantic conformance checking for all the sample contracts shipped in Workbench, once the bugs are fixed.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/25/2020

A formal model of Algorand smart contracts

We develop a formal model of Algorand stateless smart contracts (statele...
research
04/25/2019

Deductive Proof of Ethereum Smart Contracts Using Why3

A bug or error is a common problem that any software or computer program...
research
05/04/2020

Formal Verification of Solidity contracts in Event-B

Smart contracts are the artifact of the blockchain that provide immutabl...
research
08/04/2022

Deductive Verification of Smart Contracts with Dafny

We present a methodology to develop verified smart contracts. We write s...
research
04/17/2023

An Ethereum-compatible blockchain that explicates and ensures design-level safety properties for smart contracts

Smart contracts are crucial elements of decentralized technologies, but ...
research
12/03/2022

Secrecy-Verifiability Paradox in Smart Contracts

The trade-off of secrecy is the difficulty of verification. This trade-o...
research
11/14/2018

On the specification and verification of atomic swap smart contracts

Blockchain systems and smart contracts provide ways to securely implemen...

Please sign up or login with your details

Forgot password? Click here to reset