Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Verification and Certification of EVM Optimizations

Loading...
Thumbnail Image

Official URL

Full text at PDC

Publication date

2024

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Citations
Google Scholar

Citation

Abstract

The optimization of Ethereum Virtual Machine (EVM) bytecode presents unique challenges and opportunities due to its distinct requirements, including considerations such as execution cost and compiled binary size. Despite its potential benefits, optimization in this realm remains limited, primarily due to the high stakes associated with EVM programs, or smart contracts, where even minor errors can result in significant financial losses. To address these concerns, the FORVES project introduces a verifier, leveraging formal verification techniques to ensure optimized bytecode retains its original semantics. By employing Coq, a rigorously verified proof assistant and programming language, FORVES enhances trust in optimization processes, shifting the burden of proof from the optimizer to the verifier. This project outlines the development of FORVES2, an advanced iteration, which incorporates contextual information to assess code equivalence. Specifically, the project aims to devise an implication checker capable of verifying whether certain octagonal constraints hold in specific contexts, by employing a tightened transitive closure algorithm for validation.
La optimización del bytecode de la máquina virtual de Ethereum (EVM) presenta retos y oportunidades únicos debido a sus requisitos específicos, que incluyen consideraciones como el coste de ejecución y el tamaño del ejecutable compilado. A pesar de sus potenciales beneficios, la optimización en este ámbito sigue siendo limitada, principalmente debido a los altos riesgos asociados con los programas EVM, llamados contratos inteligentes, donde incluso errores menores pueden resultar en pérdidas financieras significativas. Para abordar estas preocupaciones, el proyecto FORVES desarrolla un verificador, aprovechando las técnicas de verificación formal para garantizar que el código de bytes optimizado conserve su semántica original. Al emplear Coq, un asistente de pruebas y lenguaje de programación rigurosamente verificado, FORVES aumenta la confianza en los procesos de optimización, trasladando la carga de la prueba del optimizador al verificador. Este trabajo ocurre en el entorno de FORVES2, un sucesor del proyecto anterior que incorpora información contextual para evaluar la equivalencia del código. En concreto, el proyecto pretende diseñar un verificador de implicaciones capaz de comprobar si ciertas restricciones octogonales se cumple en contextos específicos, empleando para su validación un algoritmo de cálculo del cierre transitivo.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de Fin de Doble Grado en Ingeniería Informática y Matemáticas, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2023/2024. El trabajo realizado se puede consultar en el siguiente directorio de Github: https://github.com/costa-group/forves2

Keywords