Back to website

Danny Willems

Mathematician, Cryptography Engineer & Researcher

For the most up-to-date overview of my work, see my GitHub, LinkedIn, and Twitter profiles.

Mathematician, cryptography engineer & researcher with 10+ years of experience in cryptography research, infrastructure, and production systems. Currently open to opportunities.

Current Research Interests

Post-quantum cryptography, cryptanalysis of arithmetization-oriented hash functions, formal verification of cryptographic protocols and primitives. Previously focused on SNARK-friendly primitives based on elliptic curves, SNARK implementations, and incrementally verifiable computation.

Past Full-time Positions

o1Labs
Head of Cryptography (Architect) & Rust Node Team Lead
Senior Cryptography Engineer

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.
Nomadic Labs
Cryptography Engineer

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.
B2C2
Blockchain Lead & Software Engineer

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)
Be Sport
Intern

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.

Selfpharma
Cordova Mobile Application Engineer

Online pharmacy shop based in Brussels, Belgium, built using Prestashop. Leading the iOS and Android mobile applications development, written in Cordova.

INRIA Paris
Research Intern - Gallium Team

Research internship in the Gallium team, focusing on module systems in functional programming languages.

Part-time Involvement

BaDaaS
Founder & Independent Researcher

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.
LeakIX
Co-founder (part-time)

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.

Education

PhD Candidate in Cryptography (not completed) @ Institut Polytechnique de Paris (IPP)

Topic: SNARK-friendly primitives based on elliptic curves. Under the direction of Benjamin Smith (INRIA, Ecole Polytechnique). Discontinued to join o1Labs.

Master's Degree Mathematics and Computer Sciences @ University of Mons

Grade: Summa Cum Laude

Bachelor degree: minor in Physics. Awarded with the prize of the Mathematics Department.

Piscine C @ 42

Piscine C in July 2014, joined in 2015. Stopped 1 year after to focus on master degree in mathematics at UMONS.

Research Publications

New Design Techniques for EfficientArithmetization-Oriented Hash Functions: Anemoi Permutations and JiveCompression Mode
Clémence Bouvier and Pierre Briaud and Pyrros Chaidos and Léo Perrin andRobin Salen and Vesselin Velichkov and Danny Willems
New optimization techniques for PlonK'sarithmetization
Miguel Ambrona, Anne-Laure Schmitt, Raphael R. Toledo, and Danny Willems
PDF
To a typed language for modular programming (2016-2017)
Danny Willems, master thesis directed by François Pottier

Public Talks

ZK11: o1VM: Building a Real-World zkVM for MIPS
Danny Willems
A zkVM for the MIPs architecture and OP fault proofs
Danny Willems
ZKProof5 - Anemoi & Jive: New Arithmetization-Oriented tools for Plonk app
Clémence Bouvier and Danny Willems

Notable Open Source Contributions

cryptography.academy: formally verified cryptographic knowledge base (2025 - Present)
mina-rust: full rewrite of the Mina Protocol node in Rust (2025 - 2026)
proof-systems: zero-knowledge proof systems library at o1Labs (2023 - 2026)
o1VM: a zkVM for MIPS (2023 - 2025)
Arrabbiata: a folding scheme for arbitrary custom gates and degrees (2024 - 2025)
Pickles: recursion layer for the Mina Protocol (2023 - 2025)
Octez: an OCaml implementation of the Tezos protocol (Dec 2019 - 2023)
ocaml-bls12-381: an efficient OCaml implementation of the pairing-friendly curve BLS12-381 (January 2020 - 2023)
ocaml-bls12-381-hash: efficient C and OCaml implementation of hash functions over the scalar field of BLS12-381 (Aug. 2022 - 2023)
ocaml-bls12-381-signature: OCaml implementation of BLS signature for BLS12-381 (June 2021 - 2023)
Plompiler: a monadic Domain Specific Language embedded in OCaml than can be used to build circuits for aPlonK (2021 - 2023)
Mec: Modular Experimental Cryptography library in OCaml (April 2020 - 2023)
ocaml-ff: Finite Field library in OCaml (April 2020 - 2023)
ocaml-polynomial: polynomial over finite fields in OCaml (April 2020 - 2023)
ocaml-chia-vdf: OCaml wrapper for Chia's class group based VDF (May 2022)
ocaml-carray: contiguous C arrays in OCaml (May 2022 - 2023)
ocaml-arkworks: OCaml binding to Rust library arkworks (Dec 2022 - 2023)
Ocsigen - Ocsigen Start (July 2016 - Dec 2016)
ocaml-cordova: build mobile applications using OCaml and Cordova