SADIO Sociedad Argentina de Informática e Investigación Operativa
Abstract
Los contratos inteligentes son programas inmutables en la blockchain que gestionan activos digitales sin intermediarios. Su inmutabilidad y manejo de recursos valiosos hacen crucial la detección temprana de errores. Este trabajo presenta un enfoque para generar automáticamente abstracciones por predicados en contratos Solidity de la red Ethereum, utilizando análisis dinámico vía fuzzing con la herramienta de código abierto Echidna. Se desarrolla un prototipo que explora el comportamiento real de los contratos, generando máquinas de estado finitas que abstraen el comportamiento de los mismos, basándose en predicados que reflejan el estado del contrato y las precondiciones necesarias para la habilitación de sus funciones. Esto permite identificar comportamientos complejos difíciles de detectar manualmente. Finalmente, se comparan las ventajas y limitaciones del enfoque en relación al uso de herramientas de análisis estático.Smart contracts are immutable programs on the blockchain that manage digital assets without intermediaries. Their immutability and handling of valuable resources make early error detection crucial. This work presents an approach to automatically generate predicate abstractions in Solidity contracts on the Ethereum network, using dynamic analysis through fuzzing with the open-source tool Echidna. A prototype is developed to explore the actual behavior of contracts, generating finite state machines that abstract their behavior based on predicates that reflect the contract’s state and the preconditions required to enable its functions. This allows the identification of complex behaviors that are difficult to detect manually. Finally, the advantages and limitations of the approach are compared to the use of static analysis tools. 
Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.