Skip to content
Blockchain

Why does a missing constraint in my ZK circuit survive five separate audits?

84

Возможность

ZK circuits can contain constraints that are syntactically valid but logically incomplete, leaving the witness underconstrained so an attacker can construct a fake proof the verifier accepts. The Zcash Orchard circuit had exactly this bug, disclosed in June 2026 after sitting undetected for four years through multiple professional audits. Existing static analysis tools catch simple cases but cannot prove completeness over a full production circuit. Fuzzing finds individual bugs but generates no soundness guarantee. No workflow in standard use today can tell you, before deployment, that your circuit has no underconstrained witness.

Почему это важно

A single missing constraint is enough to let an attacker mint value from nothing, and no standard pre-deployment workflow gives a completeness guarantee over a full production circuit.

Как я оцениваю возможность

Оценка возможности отражает моё личное суждение, а не точное измерение: насколько проблема болезненна, как часто она встречается и насколько мало существует решений сегодня. Чем выше оценка, тем более достойной реализации я считаю эту задачу.

Серьёзность9/10

Насколько серьёзные проблемы это создаёт.

Частота6/10

Как часто люди с этим сталкиваются.

Пробелы8/10

Насколько мало хороших инструментов для этого существует сегодня.

Ещё задачи, достойные решения