Towards Verifying Ethereum Smart Contract Bytecode in Isabelle/HOL
Blockchain technology has increasing attention in research and across many industries.
The Ethereum blockchain offers smart contracts, which are small programs defined,
executed, and recorded as transactions in the blockchain transaction history.
These smart contracts run on the Ethereum Virtual Machine (EVM) and can be used to encode
agreements, transfer assets, and enforce integrity conditions in relationships between parties.
Smart contracts can carry financial value, and are increasingly
used for safety-, security-, or mission-critical purposes.
Errors in smart contracts have led and will lead to loss or harm.
Formal verification can provide the highest level of confidence about the
correct behaviour of smart contracts.
In this paper we extend an existing EVM formalisation in Isabelle/HOL by a sound
program logic at the level of bytecode.
We structure bytecode sequences into blocks of straight-line
code and create a program logic to reason about these.
This abstraction is a step towards control of the cost and complexity of formal verification
of EVM smart contracts.
Mon 8 JanDisplayed time zone: Tijuana, Baja California change
13:30 - 15:30 | |||
13:30 30mTalk | Mechanising and Verifying the WebAssembly Specification CPP Conrad Watt University of Cambridge, UK DOI | ||
14:00 30mTalk | Towards Verifying Ethereum Smart Contract Bytecode in Isabelle/HOL CPP Sidney Amani UNSW, Australia, Myriam Bégel ENS Paris-Saclay, France, Maksym Bortin , Mark Staples CSIRO, Australia DOI | ||
14:30 30mTalk | Mechanising Blockchain Consensus CPP DOI Pre-print | ||
15:00 30mTalk | Formal Microeconomic Foundations and the First Welfare Theorem CPP |