KindHML: formal verification of smart contracts based on Hennessy-Milner logic
Massimo Bartoletti, Angelo Ferrando, Enrico Lipparini, Vadim Malvone
TLDR
KindHML offers an automated formal verification approach for smart contracts, using Hennessy-Milner Logic to detect complex temporal property violations.
Key contributions
- Addresses smart contract security flaws across multiple transactions, like liquidity or front-running attacks.
- Proposes an automated formal verification approach for complex temporal properties of smart contracts.
- Encodes Solidity contracts and Hennessy-Milner Logic specifications into Lustre for Kind 2 model checking.
- Effectively verifies non-trivial temporal properties and detects violations beyond existing analysis tools.
Why it matters
Smart contracts manage vast assets, making their security paramount. Existing tools struggle with complex, multi-transaction attack patterns. This paper introduces an automated formal verification method that can detect these advanced vulnerabilities, significantly improving smart contract reliability.
Original Abstract
Smart contracts deployed on blockchains such as Ethereum routinely manage large amounts of assets, making their security critical. Empirical studies show that real-world attacks often exploit flaws in the business logic of contracts that unfold across multiple transactions, such as liquidity or front-running attacks. Detecting these attacks requires reasoning about expressive temporal properties beyond the capabilities of existing analysis tools. In this paper, we present an automated approach to the formal verification of smart contracts, enabling the specification and verification of complex temporal properties. Our approach provides a fully automated encoding into Lustre -- the specification language supported by the Kind 2 model checker -- of an expressive subset of Solidity contracts and temporal specifications based on first-order Hennessy-Milner Logic. This encoding allows us to leverage Kind 2 to determine whether the contract respects the specification or not. We implement our approach in a toolchain that integrates the translation and verification steps, and we evaluate its effectiveness and performance on a benchmark of smart contracts and temporal properties capturing complex attack scenarios. Our results show that the proposed approach can effectively verify non-trivial temporal properties of smart contracts and detect violations that are beyond the reach of existing analysis tools.
📬 Weekly AI Paper Digest
Get the top 10 AI/ML arXiv papers from the week — summarized, scored, and delivered to your inbox every Monday.