El blockchain es una de las tecnologías emergentes que ha visto un mayor desarrollo en los últimos años. Dentro de las tecnologías blockchain cabe destacar Ethereum, una plataforma descentralizada que extiende las funcionalidades de plataformas anteriores como Bitcoin almacenando contratos inteligentes en su blockchain. El rápido desarrollo de las tecnologías blockchain ha generado numerosos retos, entre los que cabe destacar el asegurar la corrección de sus contratos y mejorar su escalabilidad.
El primer objetivo que abordamos en esta tesis es el desarrollo de técnicas que permitan garantizar la seguridad de contratos inteligentes. Este problema es crítico ya que los contratos inteligentes pueden llegar a almacenar grandes cantidades de dinero. Además, la naturaleza open-source e inmutable de los contratos hace que cualquier vulnerabilidad en su código quede expuesta al resto de usuarios, siendo imposible de solucionar una vez que el contrato se ha añadido a la blockchain. Dentro de los ataques más comunes que suelen sufrir los contratos inteligentes cabe destacar los conocidos como Reentrancy attacks. Estos ataques explotan el uso de callbacks para generar comportamientos inesperados. Uno de los principales logros de esta tesis es el desarrollo de una técnica de análisis estático que permite garantizar que un contrato es seguro frente a este tipo de ataques. Nuestros resultados experimentales muestran que esta técnica es capaz de garantizar la seguridad de contratos que no podían ser verificados a través de las herramientas existentes.
Otro de los principales desafíos de las tecnologías blockchain es reducir el coste de realizar una transacción. Las principales propuestas para incrementar la escalabilidad de Ethereum que se están desarrollando en la actualidad, como los ZK-Rollups o las ZK-EVM, se basan en la aplicación de pruebas de conocimiento cero para reducir el coste de las transacciones. Las pruebas de conocimiento cero son un tipo de protocolo criptográfico en el que una parte (probador) consigue convencer a otra (verificador) de que una declaración es cierta sin desvelar ninguna información más allá del hecho de la veracidad de la misma. Dentro de los protocolos criptográficos de conocimiento cero destacan los ZK-SNARKs, que modelan las declaraciones a través de circuitos aritméticos representados como sistemas de ecuaciones cuadráticas en formato R1CS. En esta tesis estudiamos dos de los principales desafíos que deben afrontar los ZK-SNARKs: su optimización y su verificación.
El segundo objetivo que abordamos en esta tesis doctoral es el desarrollo de técnicas que permitan optimizar la representación de los circuitos aritméticos utilizados en ZK-SNARKs. Uno de los principales logros de esta tesis es definir una noción de equivalencia que permita distinguir cuándo dos representaciones R1CS están modelando el mismo circuito, así como desarrollar técnicas que permitan simplificar la representación de un circuito eliminando ecuaciones innecesarias. Hemos implementado y aplicado estas técnicas sobre circuitos reales, siendo capaces de simplificar las representaciones generadas por compiladores existentes.
Finalmente, el tercer objetivo que abordamos en esta tesis doctoral es la verificación de circuitos aritméticos. En esta tesis hemos desarrollado una técnica basada en el uso de resolutores SMT que permite estudiar si el sistema de ecuaciones que modela un circuito asegura que se cumple la especificación del mismo. Nuestra solución se basa en la aplicación modular de reglas de inferencia de cotas y de transformación que permiten mejorar la eficiencia de los resolutores SMT existentes. Nuestros resultados experimentales muestran que nuestro enfoque es capaz de verificar circuitos reales, siendo además capaz de encontrar vulnerabilidades de alto impacto en algunos de los circuitos más utilizados en protocolos de conocimiento cero en la actualidad.
© 2001-2026 Fundación Dialnet · Todos los derechos reservados