Skip to Main content Skip to Navigation
Conference papers

Formal Simulation and Verification of Solidity contracts in Event-B

Abstract : Smart contracts are the artifact of the blockchain that provides 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 Ethereum. However, Solidity contracts need to adhere to 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 that translates Solidity contracts to Event-B models. Besides, we have implemented a translator to improve the conversion efficiency. As a case study, we take advantage of Event-B method capabilities to simulate models at different levels of abstraction and to express the properties of a typical smart contract: Honeypot contract. Lastly, we verify the generated proof obligations of the Event-B model with the help of the Rodin platform.
Document type :
Conference papers
Complete list of metadata

https://hal.archives-ouvertes.fr/hal-03411229
Contributor : Mamoun Filali-Amine Connect in order to contact the contributor
Submitted on : Tuesday, November 2, 2021 - 9:53:37 AM
Last modification on : Thursday, November 4, 2021 - 3:58:02 AM

Identifiers

Citation

Jian Zhu, Kai Hu, Jean-Paul Bodeveix, M Filali, Jean-Pierre Talpin, et al.. Formal Simulation and Verification of Solidity contracts in Event-B. IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC 2021), Jul 2021, Madrid, Spain. pp.1309-1314, ⟨10.1109/COMPSAC51774.2021.00183⟩. ⟨hal-03411229⟩

Share

Metrics

Les métriques sont temporairement indisponibles