Skip to main content

VerX: A Tool for Verifying Smart Contracts

VerX is introduced in this research as a sophisticated tool for the formal verification of smart contracts, specifically addressing the challenge of proving tha

Abstract

VerX is introduced in this research as a sophisticated tool for the formal verification of smart contracts, specifically addressing the challenge of proving that contracts adhere to complex, custom security properties. While existing tools often rely on predefined vulnerability patterns, VerX allows developers to specify their own security invariants using a custom specification language. The authors employ automated reasoning and symbolic model checking to verify these invariants, ensuring that the smart contract functions exactly as intended across all possible execution paths. The paper details the underlying formal methodology, which simplifies the verification process for developers while maintaining high mathematical rigor. By bridging the gap between high-level logical requirements and low-level code, VerX provides a critical advantage in securing highly customized financial applications where standard security patterns are insufficient. The study demonstrates that even complex, multi-transaction properties can be verified automatically, significantly reducing the probability of logical errors that result in fund loss. This work is pivotal for the maturation of DeFi, enabling the creation of ‘provably secure’ smart contracts that operate in high-value, adversarial environments. Authors: Permenev, A., Kashyap, D., Min, Y., Tsankov, P. Publication: Academic Paper Publication date: 2020-01-01

Key findings

  • Custom security invariants enable superior protection compared to predefined vulnerability patterns.
  • Automated formal verification can handle complex, multi-transaction smart contract logic.
  • Specifying desired behavior is as important as testing for known failure modes.
  • Formal verification significantly reduces the probability of catastrophic logical errors in financial contracts.

Citation

Permenev, A., Kashyap, D., Min, Y., Tsankov, P. (2020). VerX: A Tool for Verifying Smart Contracts. Academic Paper. https://www.sri.inf.ethz.ch/research/blockchain-security
Canonical knowledge ID: research:verx-a-tool-for-verifying-smart-contracts