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
Evaluation of source material for sweet maize by the main breeding characteristics
Evaluation of source material for sweet maize by the main breeding characteristics
Topicality. The sweet maize grain differs from other maize subspecies in its high sugar content: the grain accumulates 2 times more mono- and disaccharides, 20 times more dextrins,...
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...
Constructing Semantically Sound Object-Logics for UML/OCL Based Domain-Specific Languages
Constructing Semantically Sound Object-Logics for UML/OCL Based Domain-Specific Languages
Construction de Logiques-Objet Sémantiquement Correct pour des Langages à Domaines Spécifiques Basés sur UML/OCL
Les langages de spécifications basés et orientés ob...
Exploring the spectrophotometric properties of hollows from MESSENGER MIDS/WAC multiangular observations
Exploring the spectrophotometric properties of hollows from MESSENGER MIDS/WAC multiangular observations
Introduction: The origin and formation of Hollows, puzzling surface features identified on MESSENGER (MErcury Surface, Space ENvironment, GEochemistry, and Ranging, [1]) images [2]...
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...
A Comparative Analysis of Word Embedding and Deep Learning for Arabic Sentiment Classification
A Comparative Analysis of Word Embedding and Deep Learning for Arabic Sentiment Classification
Sentiment analysis on social media platforms (i.e., Twitter or Facebook) has become an important tool to learn about users’ opinions and preferences. However, the accuracy of senti...
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...
Representing Hierarchical Structured Data Using Cone Embedding
Representing Hierarchical Structured Data Using Cone Embedding
Extracting hierarchical structure in graph data is becoming an important problem in fields such as natural language processing and developmental biology. Hierarchical structures ca...

