Liquid types para la verificación de smart contracts
- Autores
- Consoli, Gonzalo
- Año de publicación
- 2025
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión publicada
- Colaborador/a o director/a de tesis
- Melgratti, Hernán Claudio
- Descripción
- En este trabajo se desarrolló una herramienta para la verificación de smart contracts escritos en Solidity. La estrategia empleada consiste en traducir el código fuente de Solidity a Haskell, utilizando las instrucciones require y assert como base para generar refinement types, los cuales se interpretan como precondiciones y postcondiciones. Estos tipos refinados se utilizan posteriormente en el proceso de verificación mediante Liquid Haskell. Además, se presentan ejemplos de uso con contratos de Azure y Rosetta, así como adaptaciones específicas para esta herramienta. Finalmente, se incluye una comparación con otras herramientas de verificación existentes, como SMTChecker y Slither.
This work presents a tool for the formal verification of smart contracts written in Solidity. Our approach translates Solidity source code into Haskell, leveraging the require and assert statements to derive refinement types, which naturally encode the contracts’ preconditions and postconditions. These refinement types are then used within the Liquid Haskell framework to perform the verification. We illustrate the tool’s capabilities with examples based on Azure and Rosetta contracts, along with specific adaptations tailored to our framework. Finally, we compare our approach against existing verification tools, including SMTChecker and Slither.
Fil: Consoli, Gonzalo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. - Materia
-
CONTRATOS INTELIGENTES
SOLIDITY
BLOCKCHAIN
ANALISIS ESTATICO
TIPOS REFINADOS
LIQUID HASKELL
VERIFICACION DE SOFTWARE
SMART CONTRACTS
SOLIDITY
BLOCKCHAIN
STATIC ANALYSIS
REFINEMENT TYPES
LIQUID HASKELL
SOFTWARE VERIFICATION - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- https://creativecommons.org/licenses/by-nc-sa/2.5/ar
- Repositorio
.jpg)
- Institución
- Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
- OAI Identificador
- seminario:seminario_nCOM000874_Consoli
Ver los metadatos del registro completo
| id |
BDUBAFCEN_1e8327b505007cbafc6820bf03663bdc |
|---|---|
| oai_identifier_str |
seminario:seminario_nCOM000874_Consoli |
| network_acronym_str |
BDUBAFCEN |
| repository_id_str |
1896 |
| network_name_str |
Biblioteca Digital (UBA-FCEN) |
| spelling |
Liquid types para la verificación de smart contractsConsoli, GonzaloCONTRATOS INTELIGENTESSOLIDITYBLOCKCHAINANALISIS ESTATICOTIPOS REFINADOSLIQUID HASKELLVERIFICACION DE SOFTWARESMART CONTRACTSSOLIDITYBLOCKCHAINSTATIC ANALYSISREFINEMENT TYPESLIQUID HASKELLSOFTWARE VERIFICATIONEn este trabajo se desarrolló una herramienta para la verificación de smart contracts escritos en Solidity. La estrategia empleada consiste en traducir el código fuente de Solidity a Haskell, utilizando las instrucciones require y assert como base para generar refinement types, los cuales se interpretan como precondiciones y postcondiciones. Estos tipos refinados se utilizan posteriormente en el proceso de verificación mediante Liquid Haskell. Además, se presentan ejemplos de uso con contratos de Azure y Rosetta, así como adaptaciones específicas para esta herramienta. Finalmente, se incluye una comparación con otras herramientas de verificación existentes, como SMTChecker y Slither.This work presents a tool for the formal verification of smart contracts written in Solidity. Our approach translates Solidity source code into Haskell, leveraging the require and assert statements to derive refinement types, which naturally encode the contracts’ preconditions and postconditions. These refinement types are then used within the Liquid Haskell framework to perform the verification. We illustrate the tool’s capabilities with examples based on Azure and Rosetta contracts, along with specific adaptations tailored to our framework. Finally, we compare our approach against existing verification tools, including SMTChecker and Slither.Fil: Consoli, Gonzalo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesMelgratti, Hernán Claudio2025-09-24info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000874_Consolispainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2026-10-01T10:19:46Zseminario:seminario_nCOM000874_ConsoliInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962026-10-01 10:19:48.394Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse |
| dc.title.none.fl_str_mv |
Liquid types para la verificación de smart contracts |
| title |
Liquid types para la verificación de smart contracts |
| spellingShingle |
Liquid types para la verificación de smart contracts Consoli, Gonzalo CONTRATOS INTELIGENTES SOLIDITY BLOCKCHAIN ANALISIS ESTATICO TIPOS REFINADOS LIQUID HASKELL VERIFICACION DE SOFTWARE SMART CONTRACTS SOLIDITY BLOCKCHAIN STATIC ANALYSIS REFINEMENT TYPES LIQUID HASKELL SOFTWARE VERIFICATION |
| title_short |
Liquid types para la verificación de smart contracts |
| title_full |
Liquid types para la verificación de smart contracts |
| title_fullStr |
Liquid types para la verificación de smart contracts |
| title_full_unstemmed |
Liquid types para la verificación de smart contracts |
| title_sort |
Liquid types para la verificación de smart contracts |
| dc.creator.none.fl_str_mv |
Consoli, Gonzalo |
| author |
Consoli, Gonzalo |
| author_facet |
Consoli, Gonzalo |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Melgratti, Hernán Claudio |
| dc.subject.none.fl_str_mv |
CONTRATOS INTELIGENTES SOLIDITY BLOCKCHAIN ANALISIS ESTATICO TIPOS REFINADOS LIQUID HASKELL VERIFICACION DE SOFTWARE SMART CONTRACTS SOLIDITY BLOCKCHAIN STATIC ANALYSIS REFINEMENT TYPES LIQUID HASKELL SOFTWARE VERIFICATION |
| topic |
CONTRATOS INTELIGENTES SOLIDITY BLOCKCHAIN ANALISIS ESTATICO TIPOS REFINADOS LIQUID HASKELL VERIFICACION DE SOFTWARE SMART CONTRACTS SOLIDITY BLOCKCHAIN STATIC ANALYSIS REFINEMENT TYPES LIQUID HASKELL SOFTWARE VERIFICATION |
| dc.description.none.fl_txt_mv |
En este trabajo se desarrolló una herramienta para la verificación de smart contracts escritos en Solidity. La estrategia empleada consiste en traducir el código fuente de Solidity a Haskell, utilizando las instrucciones require y assert como base para generar refinement types, los cuales se interpretan como precondiciones y postcondiciones. Estos tipos refinados se utilizan posteriormente en el proceso de verificación mediante Liquid Haskell. Además, se presentan ejemplos de uso con contratos de Azure y Rosetta, así como adaptaciones específicas para esta herramienta. Finalmente, se incluye una comparación con otras herramientas de verificación existentes, como SMTChecker y Slither. This work presents a tool for the formal verification of smart contracts written in Solidity. Our approach translates Solidity source code into Haskell, leveraging the require and assert statements to derive refinement types, which naturally encode the contracts’ preconditions and postconditions. These refinement types are then used within the Liquid Haskell framework to perform the verification. We illustrate the tool’s capabilities with examples based on Azure and Rosetta contracts, along with specific adaptations tailored to our framework. Finally, we compare our approach against existing verification tools, including SMTChecker and Slither. Fil: Consoli, Gonzalo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. |
| description |
En este trabajo se desarrolló una herramienta para la verificación de smart contracts escritos en Solidity. La estrategia empleada consiste en traducir el código fuente de Solidity a Haskell, utilizando las instrucciones require y assert como base para generar refinement types, los cuales se interpretan como precondiciones y postcondiciones. Estos tipos refinados se utilizan posteriormente en el proceso de verificación mediante Liquid Haskell. Además, se presentan ejemplos de uso con contratos de Azure y Rosetta, así como adaptaciones específicas para esta herramienta. Finalmente, se incluye una comparación con otras herramientas de verificación existentes, como SMTChecker y Slither. |
| publishDate |
2025 |
| dc.date.none.fl_str_mv |
2025-09-24 |
| dc.type.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis info:eu-repo/semantics/publishedVersion http://purl.org/coar/resource_type/c_7a1f info:ar-repo/semantics/tesisDeGrado |
| format |
bachelorThesis |
| status_str |
publishedVersion |
| dc.identifier.none.fl_str_mv |
https://hdl.handle.net/20.500.12110/seminario_nCOM000874_Consoli |
| url |
https://hdl.handle.net/20.500.12110/seminario_nCOM000874_Consoli |
| dc.language.none.fl_str_mv |
spa |
| language |
spa |
| dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by-nc-sa/2.5/ar |
| eu_rights_str_mv |
openAccess |
| rights_invalid_str_mv |
https://creativecommons.org/licenses/by-nc-sa/2.5/ar |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| publisher.none.fl_str_mv |
Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital (UBA-FCEN) instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales instacron:UBA-FCEN |
| reponame_str |
Biblioteca Digital (UBA-FCEN) |
| collection |
Biblioteca Digital (UBA-FCEN) |
| instname_str |
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| instacron_str |
UBA-FCEN |
| institution |
UBA-FCEN |
| repository.name.fl_str_mv |
Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| repository.mail.fl_str_mv |
ana@bl.fcen.uba.ar |
| _version_ |
1877857579688787968 |
| score |
12.854657 |