Ecosystems & Products
Repositories I have contributed to, grouped by the ecosystem or product they
belong to: the Mina, Zcash and Tezos blockchains, and the LeakIX security
platform. Each ecosystem has three tabs: repositories I contributed to (with a
link to my individual commits in each), blog articles, and documentation I
worked on. Repository entries list my role, the period of involvement, and the
current state of the repository. The content of this page is configured in
_data/ecosystems.yml.
Mina Blockchain website
Mina is a layer-1 blockchain that stays a constant size (~22 KB) by recursively composing zero-knowledge proofs. During my time at o1Labs I worked across the protocol, its proof systems, and the full rewrite of the node in Rust.
The reference Mina node. Contributions to Pickles (the recursion layer) and the broader cryptography stack.
The proof systems powering Mina. Work on Kimchi (the PlonK-based prover), custom gates and lookups, the Arrabbiata folding scheme, and the o1VM zkVM for MIPS.
Full rewrite of the Mina node from OCaml to Rust, aiming to improve performance, maintainability and developer accessibility.
TypeScript framework for writing zk-SNARKs and zkApps on Mina.
OCaml DSL for verifiable computation, the foundation of Mina's circuits.
Tool to generate specifications from Rust code and comments, used to document the proof-systems library.
Automatic generation of OCaml bindings from Rust, bridging proof-systems with the OCaml node.
Reference C implementation of the Mina transaction signer.
Documentation website for the Mina Protocol.
No blog articles yet.
No documentation yet.
Zcash Blockchain website
Zcash is a privacy-preserving cryptocurrency that uses zk-SNARKs to shield transactions. I contribute to the Rust wallet and protocol libraries, with earlier contributions to the original zcashd node.
Core Rust crates implementing the Zcash protocol: Sapling, Orchard, transaction building and wallet logic.
Next-generation Rust wallet replacing the legacy zcashd wallet.
Note encryption interfaces and convenience methods for the Sapling and Orchard protocols.
CLI tool for developers prototyping Zcash functionality.
Fork of the nheqminer Equihash miner for Zcash. Modest improvements to repository hygiene and status.
Documentation for Orchard, the Halo 2-based shielded protocol used by Zcash.
Documentation for halo2, the PLONKish proving system underpinning Orchard.
Documentation for zcashd, the original Zcash full node.
Documentation for Zebra, the Rust implementation of a Zcash node.
Documentation for librustzcash, the Rust crates implementing the Zcash protocol.
Tezos Blockchain website
Tezos is a self-amending blockchain with on-chain governance. At Nomadic Labs I worked on the protocol's cryptography stack: pairing curves, finite-field and polynomial libraries, proof systems and rollups. This work lives on GitLab.
Octez, the reference OCaml implementation of the Tezos protocol. Contributions to the cryptography and rollup stack.
Efficient OCaml implementation of the pairing-friendly curve BLS12-381: (i)FFT, G1/G2/GT operations, hash-to-curve, Pippenger MSM and pairings. Used by Octez.
Efficient C and OCaml implementations of hash functions (Anemoi, Poseidon, Rescue, Griffin) over the scalar field of BLS12-381.
OCaml implementation of BLS signatures for BLS12-381, following the IRTF CFRG draft. Used by Tezos rollups (TORU and SCORU).
A monadic DSL embedded in OCaml for building circuits for aPlonK. Sporadic contributions, e.g. new primitives and peer-coding.
Modular Experimental Cryptography library: finite fields and elliptic-curve primitives for experimental protocols in OCaml.
Finite-field library in OCaml: module types and functors to instantiate prime fields easily.
Polynomials over finite fields in OCaml, including (i)FFT routines.
OCaml wrapper for Chia's class-group based VDF, used by the Tezos Kathmandu protocol to improve randomness generation.
Contiguous C arrays in OCaml for cache-friendly handling of large arrays and a simpler FFI surface.
Optimised OCaml bindings to the Rust arkworks library, investigated as the low-level backend for Epoxy (Tezos validity rollups).
No blog articles yet.
No documentation yet.
LeakIX Security platform website
LeakIX is a search engine and attack-surface monitoring platform for exposed services and misconfigurations. As a part-time contributor I work on the API clients and tooling that support the platform.
Python client for the LeakIX API.
Python bindings for l9format, the network-recon interoperability format used across the LeakIX tooling.
MCP server for the LeakIX API, exposing security research and reconnaissance to AI assistants.
Documentation site for LeakIX.
No blog articles yet.
No documentation yet.