Javascript must be enabled to continue!
Isabelle/Solidity: A deep embedding of Solidity in Isabelle/HOL
View through CrossRef
Smart contracts are computer programs designed to automate legal agreements. They are usually developed in a high-level programming language, the most popular of which is Solidity. Every day, hundreds of thousands of new contracts are deployed managing millions of dollars’ worth of transactions. As for every computer program, smart contracts may contain bugs which can be exploited. However, since smart contracts are often used to automate financial transactions, such exploits may result in huge economic losses. In general, it is estimated that since 2019, more than $5B was stolen due to vulnerabilities in smart contracts.
This article addresses the issue of smart contract vulnerabilities by introducing an executable denotational semantics for Solidity within the Isabelle/HOL interactive theorem prover. This formal semantics serves as the basis for an interactive program verification environment for Solidity smart contracts. To evaluate our semantics, we integrate grammar-based fuzzing with symbolic execution to automatically test it against the Solidity reference implementation. The article concludes by showcasing the formal verification of Solidity programs, exemplified through the verification of a basic Solidity token.
Association for Computing Machinery (ACM)
Title: Isabelle/Solidity: A deep embedding of Solidity in Isabelle/HOL
Description:
Smart contracts are computer programs designed to automate legal agreements.
They are usually developed in a high-level programming language, the most popular of which is Solidity.
Every day, hundreds of thousands of new contracts are deployed managing millions of dollars’ worth of transactions.
As for every computer program, smart contracts may contain bugs which can be exploited.
However, since smart contracts are often used to automate financial transactions, such exploits may result in huge economic losses.
In general, it is estimated that since 2019, more than $5B was stolen due to vulnerabilities in smart contracts.
This article addresses the issue of smart contract vulnerabilities by introducing an executable denotational semantics for Solidity within the Isabelle/HOL interactive theorem prover.
This formal semantics serves as the basis for an interactive program verification environment for Solidity smart contracts.
To evaluate our semantics, we integrate grammar-based fuzzing with symbolic execution to automatically test it against the Solidity reference implementation.
The article concludes by showcasing the formal verification of Solidity programs, exemplified through the verification of a basic Solidity token.
Related Results
Safety and conservativity of definitions in HOL and Isabelle/HOL
Safety and conservativity of definitions in HOL and Isabelle/HOL
Definitions are traditionally considered to be a safe mechanism for introducing concepts on top of a logic known to be consistent. In contrast to arbitrary axioms, definitions shou...
Impact of Number of Blades and Solidity on the Performance of a Darrieus Vertical Axis Wind Turbine With Helical Blades
Impact of Number of Blades and Solidity on the Performance of a Darrieus Vertical Axis Wind Turbine With Helical Blades
Abstract
The number of blades and the solidity ratio for Darrieus vertical axis wind turbines are two factors that significantly influence the performance of these w...
An Efficient ZZW Construction Using Low-Density Generator-Matrix Embedding Techniques
An Efficient ZZW Construction Using Low-Density Generator-Matrix Embedding Techniques
A novel steganographic algorithm based on ZZW construction is proposed to improve the steganographic embedding efficiency. Low-density generator-matrix (LDGM) embedding is an effic...
Effective Attributed Network Embedding with Information Behavior Extraction
Effective Attributed Network Embedding with Information Behavior Extraction
Abstract
Network embedding has shown its effectiveness in many tasks such as link prediction, node classification, and community detection. Most attributed network embeddin...
Effective attributed network embedding with information behavior extraction
Effective attributed network embedding with information behavior extraction
Network embedding has shown its effectiveness in many tasks, such as link prediction, node classification, and community detection. Most attributed network embedding methods consid...
Information-Theoretic Limits for Steganography in Multimedia
Information-Theoretic Limits for Steganography in Multimedia
<pre>Steganography in multimedia aims to embed secret data into an innocent multimedia cover object. The embedding introduces some distortion to the cover object and produces...
Case Study of Multi-Stage Impeller with Guidevane
Case Study of Multi-Stage Impeller with Guidevane
In the previous paper, the optimum meridian profile of impeller was obtained for various specific speed by means of eight shape factors, that is, inlet relative flow angle β1, turn...
Use Deflected Trailing Edge to Improve the Aerodynamic Performance and Develop Low Solidity LPT Cascade
Use Deflected Trailing Edge to Improve the Aerodynamic Performance and Develop Low Solidity LPT Cascade
AbstractThis paper investigates the feasibility of improving the aerodynamic performance of low pressure turbine (LPT) blade cascades and developing low solidity LPT blade cascades...

