Глоссарий

Доказательство с нулевым разглашением (Zero-Knowledge Proof)

17.04.2026

Доказательство с нулевым разглашением (zero-knowledge proof, ZKP) — криптографический протокол, в котором одна сторона (пруверы) убеждает другую (верификатор), что утверждение истинно, не раскрывая ничего, кроме самого факта истинности. Концепцию ввели Шафи Голдвассер, Сильвио Микали и Чарльз Рэкофф в статье 1985 года «The Knowledge Complexity of Interactive Proof Systems» — работа получила Гёделевскую премию (1993) и стала частью заслуг Голдвассер и Микали, за которые им присудили Тьюринговскую премию (2012).

Три свойства

Любая система ZKP обладает:

  • Полнотой (completeness) — если утверждение истинно, честный пруверы убедит честного верификатора
  • Корректностью (soundness) — если утверждение ложно, нечестный прувер не сможет убедить верификатора (за исключением пренебрежимо малой вероятности)
  • Нулевым разглашением (zero-knowledge) — верификатор не узнаёт ничего, кроме факта истинности утверждения; никакие сведения о том, почему оно истинно, не утекают

Хрестоматийная аналогия: доказать, что вы знаете пароль, не раскрывая сам пароль.

Современные системы доказательств

  • zk-SNARK (Succinct Non-interactive ARgument of Knowledge) — очень короткие доказательства (сотни байт), верификация за константное время. Классические конструкции (Groth16, PGHR13) требуют доверенной церемонии под конкретную схему; PLONK и Marlin используют универсальный обновляемый setup; Halo 2 (разработан Electric Coin Company для Zcash) построен на полиномиальных коммитментах и обходится без доверенной церемонии.
  • zk-STARK (Scalable Transparent ARgument of Knowledge) — предложены Ben-Sasson и др. (2018). Прозрачны (без доверенной церемонии), опираются только на хеш-функции, потенциально постквантово-стойки. Доказательства больше (десятки–сотни КБ). Применяются в StarkWare — Starknet и StarkEx.
  • Bulletproofs — короткие range-доказательства без доверенной церемонии. С 2018 года используются в Monero для конфиденциальных сумм.
  • Nova / HyperNova, Plonky2 / Plonky3 — современные схемы folding и рекурсивные SNARK, заточенные под инкрементальные вычисления.

Где используется в крипте

Приватность

  • Zcash — экранированные транзакции на zk-SNARK (Groth16 → Halo 2)
  • Aztec Network, Aleo, Namada — приватные смарт-контракты
  • Monero — Bulletproofs для range-доказательств
  • Tornado Cash — миксер на zk-SNARK (санкции Минфина США частично отменены Пятым окружным судом в 2024 году)

Масштабируемость — ZK-роллапы

  • zkSync Era, Starknet, Polygon zkEVM, Scroll, Linea — сжимают тысячи L2-транзакций в одно validity-доказательство, публикуемое на Ethereum. Здесь ZK используется ради краткости, а не для сокрытия данных.

Идентичность и credentials

  • Worldcoin — подтверждение уникальности человека по скану радужки, не раскрывая сам скан
  • zk-email — доказательство получения письма без раскрытия его содержимого
  • Polygon ID, Semaphore — ончейн-идентичность без привязки к истории кошелька

Верифицируемые вычисления

  • zkML (EZKL, Modulus Labs) — доказательство, что AI-модель корректно отработала на заданных входах
  • Ончейн-копроцессоры (Axiom, Herodotus) — доказательство результатов офчейн-вычислений

Частое заблуждение — «ZK» ≠ «приватно»

ZK-роллап держит «ZK» в названии, но, как правило, не обеспечивает пользовательскую приватность. Свойство zero-knowledge здесь используется для краткости — одно маленькое доказательство подтверждает тысячи транзакций — а не для сокрытия данных. Все транзакции в роллапе остаются публичными. Чтобы получить приватность пользователей, требуется отдельный дизайн (Aztec, Aleo).

Смотрите также