blog
Read my blog on various topics spanning Security, Software Engineering, Blockchains, Programming Languages, and Zero Knowledge Proofs.
-
The First ZK Exploits Happened, and They Weren't What We Expected
The first two known exploits against live ZK circuits both stem from Groth16 verifiers with an incorrect trusted setup. A deep dive into what went wrong and how snarkjs users can avoid the same mistake.
-
How Prediction Markets Work: CLOBs, AMMs, Oracles, and Open Problems
A practical tour of prediction markets under the hood: how prices form through order books and AMMs, how markets resolve via oracles and disputes, and what remains unsolved.
-
Beyond L2s Maturity: A Formal Approach to Building Secure Blockchain Rollups
Introducing a formal model for reasoning about rollup security, covering forced transactions, safe blacklisting, and upgradeability, verified with the Alloy model checker.
-
Introducing bugs.zksecurity.xyz: A Knowledge Base for ZK Bugs
Announcing a website for documenting and analyzing ZK circuit vulnerabilities, featuring 89 documented bugs, 22 reproduced exploits, and evaluations of security tools.
-
Reproducing and Exploiting ZK Circuit Vulnerabilities
Launching the zkBugs GitHub repository with end-to-end reproducible exploits for known ZK circuit vulnerabilities in Circom, including step-by-step methodology for crafting exploits.
-
The State of Security Tools for ZKPs
A survey of where vulnerabilities arise across the SNARK stack and the current landscape of security tools, from static analysis and fuzzing to formal verification.