Что такое ZK-proof: доказательства нулевого разглашения, SNARK, STARK и применение в крипто

3 недели назад 0

Доказательство с нулевым разглашением (ZK-proof) (ZKP) — это криптографический протокол, позволяющий одной стороне доказать другой истинность утверждения, не раскрывая сами данные. В блокчейне ZK-доказательства применяют для приватных транзакций, масштабирования через zk-роллапы и проверки вычислений без их повторного исполнения.

Коротко о главном

  • Концепция сформулирована в 1985 году (Гольдвассер, Микали, Раккофф); практические системы появились в 2010-х.
  • Три свойства: полнота, корректность и нулевое разглашение — проверяющий не узнаёт секрет.
  • ZK-SNARK: компактные доказательства (килобайты), но обычно требуется доверенная настройка.
  • ZK-STARK: прозрачная настройка и постквантовая стойкость, но доказательства крупнее.
  • Применения: Zcash и Monero (приватность), zkSync и Starknet (масштабирование), zkID (подтверждение возраста без паспорта).
  • Доказательства генерируются дорого, а проверяются дёшево — это и делает zk-роллапы эффективными.

Простая аналогия и формальные свойства

Классический пример — пещера Али-Бабы с двумя выходами и дверью, открывающейся секретным словом. Доказывающий заходит в один из проходов и по просьбе проверяющего выходит из указанного. Повторив опыт много раз, он убеждает проверяющего, что знает секрет, ни разу его не произнеся.

Формально протокол должен обладать тремя свойствами. Полнота: честный доказывающий всегда убедит честного проверяющего. Корректность: обманщик не сможет убедить проверяющего, кроме пренебрежимо малой вероятности. Нулевое разглашение: проверяющий не получает никакой информации сверх факта истинности утверждения.

Критерий ZK-SNARK ZK-STARK
Расшифровка Succinct Non-Interactive Argument of Knowledge Scalable Transparent Argument of Knowledge
Доверенная настройка Обычно требуется (ceremony) Не требуется
Размер доказательства ~200 байт — единицы килобайт Десятки-сотни килобайт
Скорость верификации Очень быстрая Быстрая, но дороже ончейн
Постквантовая стойкость Нет (эллиптические кривые) Да (хеш-функции)
Где применяется zkSync, Scroll, Zcash, Tornado-подобные системы Starknet, StarkEx
Преимущества Ограничения и риски
Конфиденциальность без отказа от проверяемости Очень высокая стоимость генерации доказательств
Эффективное масштабирование: одно доказательство заменяет повторные вычисления Сложность математики: аудит таких систем доступен немногим
Быстрая и дешёвая верификация ончейн Доверенная настройка в SNARK требует прозрачной церемонии
Возможность подтверждать факты, не раскрывая персональные данные Регуляторы опасаются использования ZK для обхода AML-контроля

Где ZK используют в крипторынке

  • Масштабирование: zk-роллапы доказывают корректность тысяч транзакций одним коротким доказательством, публикуемым в L1.
  • Приватность: Zcash скрывает отправителя, получателя и сумму; аналогичные схемы применяются в приватных пулах.
  • Верификация личности (zkID): подтверждение возраста, гражданства или аккредитации без передачи паспорта.
  • Мосты и light clients: доказательство состояния одной цепи для другой без доверия посреднику.
  • Проверяемые вычисления: делегирование сложной работы с гарантией результата — основа zkML и verifiable compute.

ZK меняет вопрос с «доверять ли посреднику?» на «верно ли доказательство?» — а на него математика отвечает однозначно.

Частые вопросы

Можно ли доказать, что мне есть 18 лет, не показывая паспорт?

+

Да, это одно из главных применений zkID: пользователь получает подтверждённый атрибут от эмитента, а затем доказывает сервису только факт «возраст больше 18», не раскрывая ни номер документа, ни дату рождения, ни страну.

Почему zk-роллапы дороже в генерации, но дешевле в проверке?

+

Создание доказательства требует мощных вычислений prover-узла, зато верификация занимает доли миллисекунд и умещается в несколько сотен байт. Один раз доказав корректность тысячи транзакций, сеть экономит на повторном исполнении в L1.

Что такое trusted setup и почему его критикуют?

+

Это церемония генерации параметров системы, в ходе которой создаётся «токсичный» секрет: если он утечёт, злоумышленник сможет подделывать доказательства. STARK не требует такой настройки, а современные SNARK-системы (PLONK, Groth16 с мультипартийной церемонией) снижают риск.

Делают ли ZK-доказательства транзакции полностью анонимными?

+

Нет. Они скрывают конкретные данные, но метаданные, суммы комиссий и связи адресов часто остаются видимыми. Полная анонимность требует дополнительной архитектуры — как в Monero или приватных пулах.

Где ZK применяют за пределами блокчейна?

+

В аутентификации без передачи пароля, защищённом машинном обучении (zkML), верификации результатов вычислений в облаке, аудите финансовой отчётности и подтверждении соответствия нормам без раскрытия коммерческой тайны.

Итог

Доказательство с нулевым разглашением позволяет подтвердить истинность утверждения, не раскрывая данные: свойства — полнота, корректность и нулевое разглашение. ZK-SNARK даёт компактные доказательства, но обычно требует доверенной настройки; ZK-STARK прозрачен и устойчив к квантовым атакам, зато доказательства крупнее. В крипторынке технология применяется для масштабирования (zkSync, Starknet, Scroll), приватности (Zcash), верификации личности и проверяемых вычислений. Ограничения — дорогая генерация доказательств, сложность аудита и настороженность регуляторов.

Связанные термины

Теги по теме

Источники и полезные ссылки