Formally Verified EVM Block-Optimizations

被引:1
作者
Albert, Elvira [1 ]
Genaim, Samir [1 ]
Kirchner, Daniel [2 ,3 ]
Martin-Martin, Enrique [1 ]
机构
[1] Univ Complutense Madrid, Madrid, Spain
[2] Ethereum Fdn, Zug, Switzerland
[3] Univ Bamberg, Bamberg, Germany
来源
COMPUTER AIDED VERIFICATION, CAV 2023, PT III | 2023年 / 13966卷
关键词
Coq; Ethereum Virtual Machine; Smart Contracts; Optimization; Theorem Proving; VERIFICATION;
D O I
10.1007/978-3-031-37709-9_9
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The efficiency and the security of smart contracts are their two fundamental properties, but might come at odds: the use of optimizers to enhance efficiency may introduce bugs and compromise security. Our focus is on EVM (Ethereum Virtual Machine) block-optimizations, which enhance the efficiency of jump-free blocks of opcodes by eliminating, reordering and even changing the original opcodes. We reconcile efficiency and security by providing the verification technology to formally prove the correctness of EVM block-optimizations on smart contracts using the Coq proof assistant. This amounts to the challenging problem of proving semantic equivalence of two blocks of EVM instructions, which is realized by means of three novel Coq components: a symbolic execution engine which can execute an EVM block and produce a symbolic state; a number of simplification lemmas which transform a symbolic state into an equivalent one; and a checker of symbolic states to compare the symbolic states produced for the two EVM blocks under comparison. Artifact: https://doi.org/10.5281/zenodo.7863483
引用
收藏
页码:176 / 189
页数:14
相关论文
共 38 条
  • [1] Albert E., Formally Verified EVM Block-Optimizations
  • [2] A Max-SMT Superoptimizer for EVM handling Memory and Storage
    Albert, Elvira
    Gordillo, Pablo
    Hernandez-Cerezo, Alejandro
    Rubio, Albert
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2022, PT I, 2022, 13243 : 201 - 219
  • [3] Synthesis of Super-Optimized Smart Contracts Using Max-SMT
    Albert, Elvira
    Gordillo, Pablo
    Rubio, Albert
    Schett, Maria A.
    [J]. COMPUTER AIDED VERIFICATION (CAV 2020), PT I, 2020, 12224 : 177 - 200
  • [4] [Anonymous], About us
  • [5] apronad, About us
  • [6] Formally Verified Speculation and Deoptimization in a JIT Compiler
    Barriere, Aurele
    Blazy, Sandrine
    Fluckiger, Olivier
    Pichardie, David
    Vitek, Jan
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (POPL):
  • [7] Bernardi T., 2020, Preventing reentrancy bugs-another use case for formal verification
  • [8] Bizga A., 2020, A hackers' dream payday: Ledf.me and uniswap lose $25 million worth of cryptocurrency
  • [9] Buterin V., 2016, CRITICAL UPDATE RE D
  • [10] Certis, ABOUT US