Formal verification is a critical tool to protect protocols from vulnerabilities. The recent Zcash vulnerability with honest disclosure is a reminder of that.
FV is the technology we focus on at
@FormalLand to secure protocols. Being π― focused enables us to create unique capabilities, some that we keep closed-source:
- FV on arbitrary circuit languages, without having to change one's implementation, using our Garden π framework. Verifying the code as it is very important to keep stacking security layers on the same code without having to re-implement things. Example: verification the optimized Keccak circuit in Plonky3, the main hash function of Ethereum.
- FV on Rust code π¦ at the implementation level, without modifying the Rust code and for arbitrarily large properties. This is still something that open tooling struggle with, constraining the way the Rust code should be written. We believe code should be verified as it is, otherwise optimizations are lost and it becomes harder to combine tooling. We have a demo of that for Revm an EVM interpreter in Rust.
- FV for the Ethereum infra and Soldity smart contracts: this is ongoing development and behind closed doors.
- General belief of combining different approaches to not depend on a unique stack and take different angles. We bet heavily on the Rocq prover for that, with some work in Lean as well like a recent verification of polynomial algorithms for ZK with it. The two provers can in addition be connected.
Happy to chat more about that π€ to help teams secure their code even more, covering the whole stack with FV! π‘οΈ