Isabelle/Solidity: A Tool for the Verification of Solidity Smart Contracts
Description
Smart contracts are an important innovation in Blockchain which allow to automate financial transactions. Every day, hundreds of thousands of new contracts are deployed managing millions of dollars' worth of transactions. Thus, bugs in smart contracts may lead to high financial losses and it is important to get them right before deploying them to the Blockchain. To address this problem we developed Isabelle/Solidity, a tool for the verification of smart contracts in Isabelle. The tool is implemented as a definitional extension for the Isabelle proof assistant and thus complements existing tools in this area which are mostly based on axiomatic approaches. In this paper we describe Isabelle/Solidity and demonstrate it by verifying a casino contract from the VerifyThis long term verification challenge.
Files
isabelle-solidity.zip
Files
(60.7 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:429a846a52c28ff904d33c82c4e7ca27
|
58.0 kB | Preview Download |
|
md5:d5a7b62e4d2868d47cbbc7820567de73
|
2.7 kB | Preview Download |
Additional details
Funding
- UK Research and Innovation
- Secure Smart Contracts with Isabelle/Solidity EP/X027619/1
Software
- Programming language
- Isabelle