Software engineer with 8+ years of experience in P2P networking and applied cryptography (MPC, zero-knowledge proofs, and lattice-based).
Previously 6 years in total at the Ethereum Foundation:
- P2P networking @ Research team
- Privacy-preserving applications @ ZKP-Applied team and Privacy & Scaling Explorations
- baby-lattice-folding: a complete Rust implementation of SALSAA, a lattice-based folding scheme, from the finite field up (cyclotomic ring → NTT → sumcheck → folding, end-to-end, with CI and tests). Companion Python/SageMath implementations in cipher-playground.
- MPCStats: TLSNotary proves the provenance of exchange-balance inputs; MP-SPDZ (3-party honest-majority, maliciously secure) computes aggregate statistics without revealing individual balances. Live demo at Devcon 2024.
- TLSNotary extension: ported the Rust MPC-TLS prover to browser WASM and wired in a WebSocket-to-TCP proxy so the browser can open TLS sessions.
- rlnjs: TypeScript SDK for RLN (rate limiting for anonymous P2P networks), integrating its ZK circuits and contracts.
- BlindFind: private peer discovery on a self-implemented SMP (two-party secure computation) protocol with circom / snarkJS circuits.
- js-smp / PeekABook: the SMP implementation in TypeScript, and private order matching over WebRTC built on it.
- py-libp2p: primary maintainer (600+ stars). Re-architected most of an early prototype (transport, secure channel, stream multiplexing, GossipSub) and led the asyncio → Trio migration.
- p2pclient: drive the Go libp2p daemon from Python over Protobuf; the first py-libp2p ↔ go-libp2p interop tests in CI.
- Trinity: early Eth2 client in Python; networking integration on py-libp2p.
Python · Rust · TypeScript · Go · Solidity · circom · MP-SPDZ · libp2p
→ mhchia.com · 📍 Taipei






