Engineer with interest in cryptography and decentralization.

blog | other-notes

Some free time side projects:

More projects directly in github: (Mirror of all the repos at:

Recent Work:

Vocdoni & Aragon (current) -

Decentralized governance & voting tooling.
Design and implementation of anonymous voting solutions using zkSNARKs. Introduced some design optimizations in the circuits which reduced the number of constraints.
Also, contributed to vocdoni/vocdoni-node adding zk related code.
Other stuff implemented:
  • vocdoni/keccak256-circom: ethereum sha3 (keccak256) hash function implemented in a Circom circuit
  • vocdoni/zk-census-proof: anonymous census proof circuit used in Vocdoni's Blockchain
  • vocdoni/arbo: optimized MerkleTree which parallelizes by CPUs for faster computation, compatible with circomlib implementation
OVOTE: Offchain Voting with Onchain Trustless Execution (kind of a zkRollup for voting)

Hermez zkRollup -

Decentralized zkRollup on Ethereum.
Main task has been to implement the Hermez node, used to launch the mainnet of the zkRollup network:
My focus has been mainly in the TxSelector, TxProcessor (managing the rollup state tree) and BatchBuilder (generating the data structure compatible with the zkSNARK circuits to do the proof generation).

iden3 -

Scalable decentralized identity system with privacy by design by using zero knowledge proofs.
Design and specify the core protocol, develop the core libraries, servers, smart contracts, zk circom circuits and zkSNARK Groth16 Go prover.
  • iden3/go-iden3-crypto: cryptographic primitives (SNARK-friendly) used in iden3
  • iden3/go-iden3-core: core implementation of the iden3 system
  • iden3/go-circom-prover-verifier: implementation of the Groth16 zkSNARK Prover and Verifier compatible with Circom
  • iden3/circuits: zkSNARK circuits used by the iden3 core protocol

blog - github - twitter