PLSCSEOct 15, 2021

Fast and Reliable Formal Verification of Smart Contracts with the Move Prover

arXiv:2110.08362v324 citationsHas Code
Originality Incremental advance
AI Analysis

This provides a fast and reliable verification tool for developers of smart contracts on the Diem blockchain, though it is incremental as it builds on existing formal verification methods.

The paper tackles the problem of formal verification for smart contracts in the Move language, resulting in the Move Prover (MVP) that can verify the entire Diem blockchain code in a few minutes with mandatory verification for changes.

The Move Prover (MVP) is a formal verifier for smart contracts written in the Move programming language. MVP has an expressive specification language, and is fast and reliable enough that it can be run routinely by developers and in integration testing in a few minutes. Besides the simplicity of smart contracts and the Move language, three transformations are responsible for the practicality of MVP: (1) an alias-free memory model, (2) fine-grained invariant checking, and (3) monomorphization. The entirety of the Move code for the Diem blockchain has been extensively specified and can be completely verified by MVP in a few minutes. Changes in the Diem framework must be successfully verified before being integrated into the open source repository on GitHub.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes