Formal Verification of Solidity contracts in Event-B

05/04/2020
by   Jian Zhu, et al.
0

Smart contracts are the artifact of the blockchain that provide immutable and verifiable specifications of physical transactions. Solidity is a domain-specific programming language with the purpose of defining smart contracts. It aims at reducing the transaction costs occasioned by the execution of contracts on the distributed ledgers such as the Ethereum. However, Solidity contracts need to adhere safety and security requirements that require formal verification and certification. This paper proposes a method to meet such requirements by translating Solidity contracts to Event-B models, supporting certification. To that purpose, we define a restrained Solidity subset and a transfer function which translates Solidity contracts to Event-B models. Then we take advantage of Event-B method capabilities to refine models at different levels of abstraction to verify Solidity contracts' properties. And we can verify the generated proof obligations of the Event-B model with the help of the Rodin platform.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/20/2018

Formal Specification and Verification of Smart Contracts for Azure Blockchain

In this paper, we describe the formal verification of Smart Contracts of...
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
02/23/2018

A Semantic Framework for the Security Analysis of Ethereum smart contracts

Smart contracts are programs running on cryptocurrency (e.g., Ethereum) ...
research
11/14/2018

On the specification and verification of atomic swap smart contracts

Blockchain systems and smart contracts provide ways to securely implemen...
research
06/21/2022

ProML: A Decentralised Platform for Provenance Management of Machine Learning Software Systems

Large-scale Machine Learning (ML) based Software Systems are increasingl...
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
02/01/2023

A Transaction Represented with Weighted Finite-State Transducers

Not all contracts are good, but all good contracts can be expressed as a...

Please sign up or login with your details

Forgot password? Click here to reset