Formal verification Formal Verification Services
The total TVL of the crypto ecosystem is $53 billion, of which, there were $1.19 billion in losses due to exploits from January to July 2022 alone. Formal verification can catch these flaws before your smart contract is deployed. No formally verified protocol has been exploited, barring Sushi Swap, however, the exploit occurred in an unverified part of the contract.
Formal Verification, Specification and Tooling
We offer a range of formal verification and specification categories, with varying levels of security. Our team will guide you to a formal verification and specification service that best suits your projects needs.
A pen and paper specification and property tester
While this does not formally verify your implementation, it provides excellent testing coverage of the semantics of your protocol, which can be leveraged to find bugs in parts of your system.
Mechanizing a specification of your protocol
This includes all the benefits of a pen and paper specification, but here we also encode these specifications into an interactive theorem prover (i.e., mechanizing). From this encoding, we verify high-level properties of the system and automatically extract a property tester.
Automated Theorem Proving (ATP) full stack
We provide a range of full-stack smart contract formal verification services, formally verifying the implementation of your smart contracts against formal specifications we develop for you. We employ existing ATP tools, particularly for Starknet and EVM-based smart contracts.
Interactive Theorem Provers (ITP) full stack verification
The expressivity of ITP allows far more complex verification jobs than what is possible with ATP methodologies. We can effectively verify any system whose semantics and specification can be expressed on paper mathematically, or even formally verify implementations written in nascent languages for which ATP tools do not exist.
Formal verification tooling
We can develop automated formal verification tooling for your new smart contract language. In addition, we can develop encodings of the semantics of your new smart contract into an interactive theorem prover and provide various tooling to expedite the process of formally verifying smart contracts using this encoding.
Get in touch!
We recognize that applications of formal verification within the web3 ecosystem are rapidly evolving, and we are interested in exploring any proposals you may have. If you have formal verification needs outside of the Starknet ecosystem, get in touch and let's discuss what we can do for you.