Formal Land
banner
formalland.bsky.social
Formal Land
@formalland.bsky.social
Formal verification for everyday-life applications

We use math to ensure your code has no vulnerabilities

For Rust, Solidity, zk circuits. We use Rocq.

https://formal.land/
Reposted by Formal Land
✨ New work from our grantee @formalland.bsky.social, formally verifying ZK circuits for zkVMs!

Their new blog post presents how to pretty-print the constraints from a Plonky3 circuit, ensuring their modeling is correct.

formal.land/blog/2025/08...
🥷 Pretty-printing of Rust ZK constraints | Formal Land
Many zkVMs are implemented in Rust, using the Plonky3 library to describe their circuits. While Rust is efficient and expressive for describing complex circuits, it is a complex language when it comes...
formal.land
September 18, 2025 at 1:33 PM
We are currently formally verifying, in Rocq, the implementation of the Keccak hash function from Plonky3 in AIR.

Here is a code extract in Rust:
August 8, 2025 at 3:17 PM
Here is our last blog post about the formal verification of LLZK circuits in Rocq.

We present the reasoning rules, as well as how to apply them to verify that an example has no under-constraints. ✅

The link 👇
July 31, 2025 at 1:49 PM
Here is a new blog post on how we define the LLZK operator in the formal verification language Rocq, to assert that there are no under-constraints.

LLZK is a zero-knowledge circuit language based on MLIR by Veridise. This work is funded by the Ethereum Foundation.

Link: 👇
July 30, 2025 at 3:23 PM
Here is a blog post where we explain how we translate the LLZK zero-knowledge circuit language to the proof system Rocq, in order to formally verify such circuits.

The main security property we are looking for is the absence of underconstraints. The link: 👇
July 30, 2025 at 9:15 AM
We are currently writing a whole EVM specification in the Rocq language that we prove equivalent to the original implementation in Revm.

This specification is in idiomatic Rocq but follows the structure of the Rust code. It includes the gas and versioning! 👇
July 13, 2025 at 8:24 PM
One of our primary targets these days (months) is to make a functional specification for the Rust implementation of the EVM (Ethereum Virtual Machine) named Revm.

We finally achieved that for the ADD instruction! Here is what it looks like: 👇
July 3, 2025 at 2:28 PM
Until now, with "coq-of-rust", our translation tool from Rust to the formal system Rocq, we have mostly focusing on the first phase of the translation: handling the names, the types, and the traits.

We are now starting to work on the second phase, to handle the memory aliases. 👇
June 18, 2025 at 3:25 PM
Reposted by Formal Land
I am happy to have safely arrived in Berlin for all the side events of the Blockchain Week and to discuss formal verification and ZK!

I will go to NoirCon and ZK Hack. For now, at the WeWork to feel like home 😂
June 18, 2025 at 3:21 PM
A new blog post about our work to translate the Rust code of OpenVM to Rocq, with the aim of formally verifying that the circuits have no under-constraints:

formal.land/blog/2025/06...
🦀 Beginning of translation of OpenVM to Rocq | Formal Land
Here, we present our beginning work of translating part of the OpenVM code to the proof assistant  Rocq. The aim is to experiment around the formal verification of the zero-knowledge circuits of ...
formal.land
June 15, 2025 at 5:50 PM
Reposted by Formal Land
🎊 Grant Announcement: Plonky3 in Rocq by Formal Land!

Dive into how the team is establishing an extraction from Plonky3 to Rocq, and demonstrating its use by verifying relevant components of Plonky3-based zkVMs.

x.com/FormalLand/s...
Formal Land 🌲 on X: "We are excited to announce that we obtained a grant from the Ethereum Foundation @ethereumfndn to build a formal verification framework in Rocq for zero-knowledge circuits in Plonky3/LLZK! 🎊 What does this mean? 🔍👇" / X
We are excited to announce that we obtained a grant from the Ethereum Foundation @ethereumfndn to build a formal verification framework in Rocq for zero-knowledge circuits in Plonky3/LLZK! 🎊 What does this mean? 🔍👇
x.com
May 15, 2025 at 5:10 AM
You want to formally verify your ZK circuits in a scalable way?

This is what we are working on with Garden, our formal verification framework for circuits in Rocq.

The link: 👇
April 26, 2025 at 2:13 PM
Our tool "coq-of-solidity" translates Solidity smart contracts to the formal language Rocq.

What does it mean, and why is it important? 🧵
April 19, 2025 at 2:45 PM
Reposted by Formal Land
Atlas Computing Symposium : Rust (Friday, May 2, 2025 - Ottawa, Canada) lu.ma/umi3g2wc

Speaker highlight: Guillaume Claret is a security researcher and the founder of @formalland.bsky.social, a company specializing in the application of formal methods to critical code. #rustlang
April 18, 2025 at 12:32 PM
The reason we develop formal verification tools is to provide the best value for code audits.

With our "coq-of-solidity" and "coq-of-rust" projects, it is possible to verify Solidity and Rust projects in an integrated manner in Rocq to prevent most vulnerabilities.
April 17, 2025 at 3:52 PM
Garden is our project to formally verify zero-knowledge circuits: formal.land/docs/tools/g...

Reach out to us if you are interested in auditing your circuits!

We are happy to contribute to the security of the advanced operations written in zero-knowledge technology.
🌱 Garden | Formal Land
Garden is a formal verification framework that helps you verify your zero-knowledge applications with ease.
formal.land
April 14, 2025 at 10:25 AM
We believe Web3 is the best space for the development of new auditing tools, as there is a unique combination of:

- A strong pressure to get things right,
- All the code is available as open-source,
- The market is rather open to new players.
April 13, 2025 at 12:07 PM
Paris Blockchain Week 2025 is coming to an end.

This was a great conference with many interesting side-events located along the river or the Louvres in Paris, for the best view.

See you next year! 👋
April 10, 2025 at 3:32 PM
At Formal Land, we focus on providing the best level of security by developing advanced auditing solutions with formal verification. 🛡️

Hoping to see you at the Paris Blockchain Week event! 🥐
April 8, 2025 at 3:10 PM
We are happy to attend the "AI and Math" day in Paris with a lot of presentations about the application of LLMs to formal proofs in Rocq or Lean, from experts in the field.
April 4, 2025 at 11:25 AM
We like to have numbers to measure our progress while coding.

Here is the list of EVM instructions from the Rust Revm implementation that we have successfully translated to a typed version in Rocq: github.com/formal-land/...
github.com
April 3, 2025 at 4:27 PM
Having better support for constants in "coq-of-rust" is now done! ✌️

Another improvement: handling the native binary operators as normal functions to uniformize a lot of code on the proving side.

Now, we reach a new difficulty: handling implicit coercions from &[T; N] to &[T] 🤔

A new task to do! 💪
April 2, 2025 at 9:41 AM
Rocq has this rarely known feature, and mathematicians hate it for that. (This is not clickbait 😆)

Impredicative Set allows to quantify over types of values while still being at the same level. This leads to paradox for most mathematicians but not in Rocq!

Here is what follows: 👇
April 1, 2025 at 8:40 AM
If you had some critical Rust code you wanted to formally verify, what would it be? Send it to us!
March 31, 2025 at 7:41 PM
We are currently working on "coq-of-rust" to improve support for constant definitions by handling them as functions without parameters.

This allows for handling special cases like constants in parametrized "impl" which were out of reach before.
March 31, 2025 at 8:03 AM