Abstract : Among dozens of decentralized computing platforms, Ethereum attracts widespread attention for its native support of smart contracts by means of a virtual machine called Ethereum Virtual Machine (EVM). Programs can be developed in various front-end languages. For example, Solidity can be deployed to the blockchain in the form of compiled EVM opcodes. However, such flexibility leads to critical safety challenges. In this paper, we formally define the behavior of EVM in Why3, a platform for deductive program verification, which facilitates the verification of different properties. The extracted implementation in OCaml can be directly integrated into the production environment and tested against the standard test suite. The combination of proofs and testing in our framework serves as a powerful analysis basis for EVM and smart contracts.
https://hal.inria.fr/hal-03273991 Contributor : Hal IfipConnect in order to contact the contributor Submitted on : Tuesday, June 29, 2021 - 4:13:04 PM Last modification on : Tuesday, June 29, 2021 - 4:30:39 PM Long-term archiving on: : Thursday, September 30, 2021 - 7:13:47 PM
File
Restricted access
To satisfy the distribution rights of the publisher, the document is embargoed
until : 2023-01-01
Xiyue Zhang, yi Li, Meng Sun. Towards a Formally Verified EVM in Production Environment. 22th International Conference on Coordination Languages and Models (COORDINATION), Jun 2020, Valletta, Malta. pp.341-349, ⟨10.1007/978-3-030-50029-0_21⟩. ⟨hal-03273991⟩