What Is ‘Model Checking’ as a Formal Verification Technique?

Model checking is a formal verification technique that systematically and exhaustively explores all possible states and execution paths of a smart contract's code to determine if a specified property (like an invariant) holds true. Instead of requiring a full mathematical proof, the model checker builds a finite-state model of the system and checks every state.

If a property is violated, it produces a counterexample, which is the sequence of transactions that leads to the bug. It is effective for smaller, highly complex financial state machines.

What Is ‘Formal Verification’ in Smart Contracts?
Can Formal Verification Prove the Absence of All Security Vulnerabilities?
How Is the Concept of Error Checking Applied in Options Trading (E.g. Contract Specification Validation)?
How Do Different Tax Laws in the US and EU Affect Cryptocurrency Investments?
How Does Formal Verification Differ from a Standard Smart Contract Audit?
How Do Formal Verification Methods Aim to Address Smart Contract Security Vulnerabilities?
What Are the Trade-Offs between Formal Verification and Bug Bounties?
How Does Formal Verification Help in Preventing Bugs in Financial Smart Contracts?

Glossar