零知识证明 zkDaily
ZKP Frontier Tracker 🎯
Sun
03.01
2026
Project avatar
Blog
https://blog.zksecurity.xyz/posts/groth16-setup-exploit/
zkSecurity snarkjs Trusted Setup

Notes

零知识证明 zkDaily
Q&A Deep Dive 💬
Sun
03.01
2026
beginner
Why must γ and δ be independent random group elements?
They randomize the public input term and the proof element C respectively. If they are equal, an attacker can engineer cancellations that collapse the pairing equation into a tautology.
answer
intermediate
What exactly does snarkjs do during zkey initialization if Phase 2 is skipped?
It initializes both γ₂ and δ₂ to the BN254 generator as placeholders. Without a contribution step, they remain identical.
answer
expert
Why is this vulnerability not an underconstrained circuit bug but a systemic soundness collapse?
The circuit may be perfectly correct, but the verification key violates Groth16’s independence assumptions. The pairing equation loses its knowledge-binding property, breaking the trusted setup soundness at the system level.
answer