Open to opportunities
Independent Researcher @ BaDaaS (personal research)
Part-time involved @ LeakIX
On the side, I run BaDaaS, a personal mathematics research boutique where I build Papyrus and cryptography.academy, tools to formally verify the world's cryptographic knowledge. I also co-founded LeakIX in 2021 with Gregory Boddin, an attack surface management platform serving 100+ clients and multiple national CERTs, where I remain part-time involved.
Previously, I was Head of Cryptography at o1Labs and led a team to reimplement the Mina Protocol node in Rust. Before that, I worked as a cryptography engineer at Nomadic Labs on the Tezos protocol.
My current research interests include post-quantum cryptography, cryptanalysis of AO hash functions, and formal verification of cryptographic protocols and primitives. Previously, I spent time on SNARK-friendly primitives based on elliptic curves, SNARK implementations, and incrementally verifiable computation. On my free-time I read about cybersecurity, low-level code optimizations, formal verification, and mathematics applied to physics. I also enjoy doing recreational mathematics.
Nowadays, I like getting my hands dirty coding in C, OCaml, Rust and read assembly code. Constantly requiring to be in an intellectually stimulating environment.
I published on the BaDaaS blog: https://badaas.be/blog.
Experience
o1Labs incubated the Mina Protocol, a layer-1 blockchain using zero-knowledge proofs for succinctness.
- Oversaw cryptography architecture across a 15-20 person engineering team as Head of Cryptography.
- Led a team of up to 5 engineers on the full rewrite of the Mina node from OCaml to Rust.
- Contributed to Kimchi (custom gates, lookups) and Pickles (recursion layer based on Halo2).
- Contributed to o1js, the TypeScript SDK for writing zkApps.
- Co-designed o1VM, a zkVM for MIPS. Built the RISC-V interpreter and folding layer, low-level optimizations for witness generation (see talks below).
- Designed Arrabbiata, a folding scheme for arbitrary custom gates and degrees.
Cryptography team at Nomadic Labs (Tezos blockchain).
- Co-authored the Anemoi/Jive paper on AO hash functions for PlonK. Implementation and CPU optimizations.
- Co-authored PlonK optimizations paper. Implementation.
- Built ocaml-bls12-381: pairing operations, BLS signatures, hash functions over BLS12-381.
- Contributed to Plompiler, a monadic DSL for aPlonK circuits.
- Worked on Epoxy, a validity rollup for Tezos.
- Contributed to the Tezos protocol (Octez).
- Enrolled at IPP for a PhD on SNARK-friendly elliptic curve primitives (supervisor: Benjamin Smith, INRIA). Discontinued to join o1Labs.
First engineer at B2C2, an early institutional crypto liquidity provider (acquired by SBI Holdings in 2020).
- Built and operated blockchain nodes across multiple chains for real-time transaction monitoring.
- Contributed to real-time crypto/fiat accounting with PnL detection, integrated with the risk system.
- Managed full lifecycle: infrastructure, development, releases.
Earlier experience (2015-2016)
Social network around sports. The platform is built using OCaml and the Ocsigen technology. During the internship, I was responsible to improve the framework Ocsigen Start, which consists of a template to bootstrap a complete standard application requiring user management, displaying tips, and sending notifications to the users.
Online pharmacy shop based in Brussels, Belgium, built using Prestashop. Leading the iOS and Android mobile applications development, written in Cordova.
Research internship in the Gallium team, focusing on module systems in functional programming languages.
Side projects & part-time involvement
Personal mathematics research boutique founded in 2020, bridging abstract mathematics and concrete applications. Independent research, consulting, and engineering for protocol design, cryptography library development, and security auditing.
- Papyrus: pipeline to extract and formally verify cryptographic knowledge from research papers.
- cryptography.academy: web frontend for Papyrus, presenting verified cryptographic knowledge in a searchable interface.
- LeakIX: co-founded attack surface management platform serving 100+ clients and multiple national CERTs.
Co-founded with Gregory Boddin. Attack surface management platform serving 100+ clients and multiple national CERTs.
- Search engine indexing public information by scanning the Internet, combined with an open vulnerability disclosure platform.
- Preemptive security: free incident reports for affected parties, no sales attempts on reported incidents.
Research publications
New Design Techniques for EfficientArithmetization-Oriented Hash Functions: Anemoi Permutations and JiveCompression Mode
Advanced cryptographic protocols such as Zero-knowledge (ZK) proofs of knowledge, widely used in cryptocurrency applications such as Zcash, Monero, Filecoin, demand new cryptographic hash functions that are efficient not only over the binary field \(\mathbb{F}_{2}\), but also over large fields of prime characteristic \(\mathbb{F}_{p}\). This need has been acknowledged by the wider community and new so-called Arithmetization-Oriented (AO) hash functions have been proposed, e.g. MiMC-Hash, Rescue–Prime, Poseidon, Reinforced Concrete and Griffin to name a few.
New optimization techniques for PlonK'sarithmetization
PlonK is a universal and updatable zk-SNARK for general circuit satisfiability that allows a verifier to check the validity of a certain NP statement very efficiently, optionally in zero-knowledge. PlonK requires that the NP relation of interest be expressed as a system of so-called PlonK constraints. Such conversion is complex and can be implemented in various ways, having a great impact on the prover complexity (which is typically linearithmic in the number of PlonK constraints). We propose several general results for simplifying PlonK constraint systems, which produce more compact but equivalent systems and can lead to significant performance improvements. We also develop an automated optimizer of constraints, based on our techniques, that can be used to construct very compact and less error-prone constraint systems, favoring a more auditable circuit design.
To a typed language for modular programming (2016-2017)
Modular programming consists of splitting programs in components called modules. In the functional programming language OCaml, the core and the module language are ruled by different typing systems. In this work, based on the calculus DOT, we develop a typing system and a subtyping algorithm for a language where the core and module languages are indistinguishable. For instance, functions and functors have the same types and records and modules are not different objects. We also describe a surface language "à la ML" making it easy to write programs. In addition to that, we provide an OCaml implementation of the typing and subtyping algorithm.
Public talks
ZK11: o1VM: Building a Real-World zkVM for MIPS
Invited talks on main stage to talk about o1VM: a zkVM we are building at o1Labs. In this talk, we will present o1vm, a general-purpose zkVM which can be used to prove the correct execution of MIPS programs. Learn about the ISA specifics supported by this zkVM, as well as an encoding technique for bitwise operations that was used to efficiently implement standard hash functions with high algebraic complexities like Keccak. I also dive into the implementation of a folding scheme and RAMLookups, our distinctive take on “additive lookups”, and how they were leveraged to handle long execution traces and to efficiently represent random-memory access, an expensive component of zkVMs.
A zkVM for the MIPs architecture and OP fault proofs
Invite from SevenX Venture to talk about the recent work about the zkVM we have been working on at O(1) Labs
ZKProof5 - Anemoi & Jive: New Arithmetization-Oriented tools for Plonk app
Invitation to give a talk during ZKProof5 in Tel Aviv to present the work on Anemoi & Jive, available here.
Open source software contributions
cryptography.academy: formally verified cryptographic knowledge base (2025 - Present)
A collaborative platform to formally verify the world's cryptographic knowledge. Web frontend for the Papyrus pipeline, presenting extracted and verified cryptographic knowledge in a unified, searchable interface.
mina-rust: full rewrite of the Mina Protocol node in Rust (2025 - 2026)
Led the full rewrite of the Mina Protocol node from OCaml to Rust. Mina is a layer-1 blockchain using zero-knowledge proofs for succinctness. The Rust implementation aims to improve performance, maintainability, and developer accessibility.
proof-systems: zero-knowledge proof systems library at o1Labs (2023 - 2026)
Contributions to the proof-systems library used by the Mina Protocol. Includes work on Kimchi (the PlonK-based prover), custom gates, and lookups.
o1VM: a zkVM for MIPS (2023 - 2025)
A general-purpose zkVM which can be used to prove the correct execution of MIPS programs. Implemented the RISC-V interpreter and focused on the folding aspect of the proof system. Built as a team effort at o1Labs.
Arrabbiata: a folding scheme for arbitrary custom gates and degrees (2024 - 2025)
Designed and started building Arrabbiata, a novel folding scheme supporting arbitrary custom gates and degrees. Part of the proof-systems repository at o1Labs.
Pickles: recursion layer for the Mina Protocol (2023 - 2025)
Contributions to Pickles, the recursion layer used in Mina based on Halo2 (Plonk-ish implementation of Halo). Pickles enables the succinct blockchain property that makes Mina unique.
Octez: an OCaml implementation of the Tezos protocol (Dec 2019 - 2023)
Tezos is a blockchain that offers both consensus and meta-consensus, by which we mean that Tezos comes to consensus both about the state of its ledger, and also about how the protocol and the nodes should adapt and upgrade. For more information about the project, see https://tezos.com.
ocaml-bls12-381: an efficient OCaml implementation of the pairing-friendly curve BLS12-381 (January 2020 - 2023)
This library provides a fast implementation of operations over the scalar field, including (i)FFT, operations over the groups G1 and G2, including EC-FFT, hash_to_curve as described in this specification and the pippenger algorithm for fast multi scalar exponentiation, operations over the target group of the pairing (GT), written additively, and pairing from \(G1 \times G2 \to GT\). Notable users include Octez, an OCaml implementation of the Tezos protocol to allow arithmetic operations over BLS12-381 in the smart contract language Michelson.
ocaml-bls12-381-hash: efficient C and OCaml implementation of hash functions over the scalar field of BLS12-381 (Aug. 2022 - 2023)
This library provides efficient C and OCaml factory implementations of hash functions like Anemoi, Poseidon, Rescue or Griffin over the scalar field of BLS12-381. Notable users include Plompiler, a monadic Domain Specific Language embedded in OCaml that can be used to build circuits for aPlonK.
ocaml-bls12-381-signature: OCaml implementation of BLS signature for BLS12-381 (June 2021 - 2023)
The library provides BLS signatures for the pairing friendly curve BLS12-381. The code follows the specification available here. Notable users include Transactionnal Rollups (TORU) and Smart Contract Rollups (SCORU), scaling solutions implemented in Octez, an OCaml implementation of the Tezos protocol.
Plompiler: a monadic Domain Specific Language embedded in OCaml than can be used to build circuits for aPlonK (2021 - 2023)
Programs written in Plompiler are typed to increase safety and can be compiled to their circuit representations or interpreted directly in OCaml for testing. Together with the circuit, Plompiler also returns an efficient one-pass solver that given an input finds a valid assignment for the wires of the circuit. Additionally, Plompiler contains a generic optimizer capable of significantly reducing the size of commonly developed circuits. Flamegraphs can be generated to inspect the generated circuits and guide the optimization of each primitives. The library also features a highly performant set of primitives for hashing (Poseidon and Anemoi) and signing. My contribution are sporadic, e.g. when a new primitive has to be implemented or when peer-coding with the cryptography team at Nomadic Labs.
Mec: Modular Experimental Cryptography library in OCaml (April 2020 - 2023)
Mec provides modular implementations of (prime) finite field and elliptic curve cryptographic primitives like hash functions and signature schemes. The library aims to ease the development of (modular) experimental protocols in OCaml and does not aim to be used in a production environment. Notable users include Epoxy, an implementation of validity rollups integrated as a first class citizen in the Tezos protocol, for testing purposes.
ocaml-ff: Finite Field library in OCaml (April 2020 - 2023)
Ff provides module types to describe (prime) finite fields \(\mathbb{F}_{p^n}\) and provides functors to easily instantiate implementations.
ocaml-polynomial: polynomial over finite fields in OCaml (April 2020 - 2023)
The library provides implementations of polynomials over finite fields, including routines like (i)FFT.
ocaml-chia-vdf: OCaml wrapper for Chia's class group based VDF (May 2022)
OCaml wrapper for Chia's class group based VDF project. Notable users include the Tezos' protocol Kathmandu to improve the randomness generation. My contribution has been mostly at the beginning of the project, consisting of writing the OCaml bindings to the C++ codebase.
ocaml-carray: contiguous C arrays in OCaml (May 2022 - 2023)
OCaml arrays are not always contiguous piece of memory, requiring accessing different chunks of memory when accessing individual elements. When requiring a value in memory, the CPU will fetch the RAM and load not only the particular value but a memory page (a contiguous piece of memory) and add it to its cache. The CPU will use its cache to load the values in its registers. It is not efficient with large OCaml arrays as the CPU will constantly fetch the RAM to load different memory pages in its cache. Also, when using the C FFI, the user must know the memory representation of an array and use the non user-friendly low-level interface macro Field. This library provides a polymorphic interface mocking a subset of the Array interface to work with contiguous piece of memory. Using the library should be as easy as adding module Array = Carray.
ocaml-arkworks: OCaml binding to Rust library arkworks (Dec 2022 - 2023)
WIP (Dec. 2022) - Optimised OCaml binding to the library arkworks. Investigating the replacement of the low level library used by Epoxy, the validity rollup framework built for the Tezos protocol. More info to come.
Ocsigen - Ocsigen Start (July 2016 - Dec 2016)
Ocsigen Start is a set of higher-level libraries for building client-server web applications with Ocsigen (Js_of_ocaml and Eliom). It provides modules for user managements (session management, registration, action — e.g., activation — keys, ...), managing groups of users, displaying tips, and easily sending notifications to the users.
ocaml-cordova: build mobile applications using OCaml and Cordova
A list of OCaml bindings to build mobile applications in OCaml using the web framework Cordova.
Education
Topic: SNARK-friendly primitives based on elliptic curves. Under the direction of Benjamin Smith (INRIA, Ecole Polytechnique). Discontinued to join o1Labs.
Grade: Summa Cum Laude
Bachelor degree: minor in Physics. Awarded with the prize of the Mathematics Department.
Quotes
Le savoir est une arme, mais personne braque pour acheter des livres -- Kery James
A mathematician who is not also something of a poet will never be a complete mathematician. -- Karl Weierstrass
Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say -- Edward Snowden
Never attribute to malice that which is adequately explained by stupidity -- Hanlon's razor
Je préfère l'eau potable pour tous que le champagne pour quelques potes -- Médine
Celui qui se contente de peu ne manque de rien
On est condamné à réussir, à franchir des barrières, construire des carrières. Regarde ce qu'on accomplit nos parents, ce qu'ils ont subi pour qu'on accède à l'éducation. Où serait-on sans leurs sacrifices ? Bien sûr que le travail a du mérite. O combien j'admire nos pères. Peut-être manutentionnaires mais fiers. Si on gâche tout où est le respect ? Si on échoue où est le progrès ? Chaque fils de pauvre doit avoir de l'ambition.
Hardly anybody actually understands money -- Nick Szabo
Recommended software
Must read
- A Cypherpunk’s Manifesto - Eric Hughes
- How To Become A Hacker - Eric Steven Raymond