Cargando…
Towards a Formally Verified EVM in Production Environment
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...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7282840/ http://dx.doi.org/10.1007/978-3-030-50029-0_21 |
_version_ | 1783544199545618432 |
---|---|
author | Zhang, Xiyue Li, Yi Sun, Meng |
author_facet | Zhang, Xiyue Li, Yi Sun, Meng |
author_sort | Zhang, Xiyue |
collection | PubMed |
description | 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. |
format | Online Article Text |
id | pubmed-7282840 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-72828402020-06-10 Towards a Formally Verified EVM in Production Environment Zhang, Xiyue Li, Yi Sun, Meng Coordination Models and Languages Article 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. 2020-05-13 /pmc/articles/PMC7282840/ http://dx.doi.org/10.1007/978-3-030-50029-0_21 Text en © IFIP International Federation for Information Processing 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic. |
spellingShingle | Article Zhang, Xiyue Li, Yi Sun, Meng Towards a Formally Verified EVM in Production Environment |
title | Towards a Formally Verified EVM in Production Environment |
title_full | Towards a Formally Verified EVM in Production Environment |
title_fullStr | Towards a Formally Verified EVM in Production Environment |
title_full_unstemmed | Towards a Formally Verified EVM in Production Environment |
title_short | Towards a Formally Verified EVM in Production Environment |
title_sort | towards a formally verified evm in production environment |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7282840/ http://dx.doi.org/10.1007/978-3-030-50029-0_21 |
work_keys_str_mv | AT zhangxiyue towardsaformallyverifiedevminproductionenvironment AT liyi towardsaformallyverifiedevminproductionenvironment AT sunmeng towardsaformallyverifiedevminproductionenvironment |