Ключевые выводы

  • Доказательство с нулевым разглашением (ZKP) — это криптографический метод, который позволяет одной стороне доказать истинность утверждения, не раскрывая никаких лежащих в основе данных.

  • Доказательства с нулевым разглашением (ZKP) усиливают конфиденциальность и безопасность в блокчейне, позволяя проверять транзакции, не раскрывая чувствительные детали вроде адресов кошельков или сумм.

  • zk-SNARKs и zk-STARKs — это два основных типа доказательств с нулевым разглашением, которые используются сегодня, с разными компромиссами по скорости, размеру доказательства и необходимости доверенной настройки.

  • zk-rollups используют ZKP, чтобы объединять (батчировать) множество транзакций вне сети и отправлять в блокчейн одно криптографическое доказательство, увеличивая пропускную способность и снижая комиссии.

  • Практические применения ZKP включают конфиденциальные транзакции, проверку личности, децентрализованные финансы (DeFi) и совместимость между цепочками.

Binance Academy courses banner

Введение

Блокчейны построены вокруг прозрачности. Любая транзакция в публичной сети видна любому, кто захочет посмотреть. Такая прозрачность создаёт доверие, но также порождает фундаментальное противоречие: иногда нужно проверять что-то, не раскрывая лежащие в основе данные.

Доказательства с нулевым разглашением решают эту проблему. Они позволяют одной стороне, называемой доказывающей стороной (prover), убедить другую сторону — проверяющую (verifier) — в истинности утверждения, не раскрывая никакой информации сверх этого факта. Название напрямую связано с идеей: проверяющая сторона получает нулевые знания о лежащих в основе данных, но при этом может быть уверена, что заявленное утверждение верно.

ZKP были теоретической концепцией в криптографии ещё с 1980-х, но практические реализации в блокчейне стали возможны только в 2010-х. С тех пор они превратились в одну из самых активно разрабатываемых технологий в этой сфере, лежащую в основе приватных монет, решений масштабирования уровня 2 и систем идентификации.

Как работают доказательства с нулевым разглашением

По сути доказательство с нулевым разглашением — это математический протокол, в котором доказывающая сторона генерирует доказательство, удовлетворяющее набору условий, которые проверяющая сторона может проверить. Проверяющая сторона может подтвердить, что доказательство корректно, не имея возможности восстановить (обратным проектированием) исходный ввод.

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

Чтобы ZKP было валидным, оно должно удовлетворять трём свойствам. Полнота означает, что честный доказывающий всегда сможет убедить проверяющего. Звуковость означает, что нечестный доказывающий не сможет убедить проверяющего в ложном утверждении, за исключением пренебрежимо малой вероятности. Нулевое разглашение означает, что проверяющий не узнаёт ничего сверх того, является ли утверждение истинным.

На практике большинство блокчейн-ZKP являются неинтерактивными: доказывающая сторона генерирует доказательство как единый фрагмент данных, а проверяющая сторона проверяет его без необходимости обмена сообщениями туда-сюда. Это делает ZKP практичными для использования в ончейн-смарт-контрактах и протоколах уровня 2.

zk-SNARKs и zk-STARKs

Два наиболее широко используемых типа доказательств с нулевым разглашением в блокчейне — это zk-SNARKs и zk-STARKs. Оба позволяют проверять вычисления вне сети (off-chain) в блокчейне, но различаются техническим подходом.

zk-SNARKs

Доказательства zk-SNARK (сжатые неинтерактивные аргументы знания с нулевым разглашением) компактны и быстро проверяются, благодаря чему они стали популярными в ранних приложениях ZKP, таких как конфиденциальные транзакции Zcash и проверка смарт-контрактов в Ethereum.

Главный недостаток заключается в том, что zk-SNARKs требуют доверенной настройки — церемонии, в ходе которой генерируется набор криптографических параметров. Если настройка будет скомпрометирована, злоумышленник потенциально может сгенерировать мошеннические доказательства. Многие проекты используют церемонии вычислений с участием нескольких сторон (multi-party computation), чтобы минимизировать этот риск.

zk-STARKs

Доказательства zk-STARK (масштабируемые, прозрачные аргументы знания с нулевым разглашением) не требуют доверенной настройки, что устраняет риск доверенной настройки. Также считается, что они более устойчивы к атакам с применением квантовых вычислений, чем zk-SNARKs. Компромисс в том, что доказательства zk-STARK имеют больший размер, что может приводить к более высоким затратам на ончейн-проверку. StarkNet — примечательная производственная сеть, использующая zk-STARKs в масштабе.

zk-Rollups и масштабирование блокчейна

Одно из самых значимых применений ZKP — это zk-rollups, решение масштабирования уровня 2 для блокчейнов. zk-rollup обрабатывает сотни транзакций вне сети, объединяет их в пакет (batch) и отправляет в основную цепь одно-единственное ZKP-доказательство, подтверждающее корректность всех этих транзакций.

Этот подход может существенно увеличить пропускную способность транзакций, при этом наследуя безопасность базового уровня. Основная альтернатива — оптимистичные rollups — предполагает, что транзакции действительны, пока их не оспорят, что приводит к задержке вывода (withdrawal delay). zk-rollups не имеют этой задержки, потому что корректность доказывается криптографически в момент публикации.

В марте 2024 года Ethereum выпустил EIP-4844, который ввёл «blobs» — выделенный слой хранения данных для данных rollup-ов уровня 1 и уровня 2. Это существенно снизило стоимость размещения батчей ZKP в сети, сделав zk-rollups заметно дешевле для конечных пользователей. В настоящее время в production активно работают несколько сетей zkEVM, включая zkSync Era, Polygon zkEVM, Scroll и Taiko.

Сценарии использования доказательств с нулевым разглашением

Конфиденциальные транзакции

Доказательства с нулевым разглашением (ZKP) могут скрывать адреса отправителя, адреса получателя и суммы транзакций в публичных блокчейнах. Zcash первыми внедрили это с защищёнными транзакциями (shielded transactions) с использованием zk-SNARKs, позволяя пользователям совершать операции, не раскрывая свою финансовую активность публичному реестру.

Проверка цифровой личности

ZKP позволяют пользователю доказать, что он соответствует требованию, например что ему больше 18 лет или что у него есть действительное удостоверение, не раскрывая лежащие в основе документы. Это находит применение в децентрализованных системах идентификации, соблюдении требований KYC и контроле доступа.

Конфиденциальность в DeFi

Протоколы децентрализованных финансов (DeFi) могут использовать ZKP, чтобы обеспечить приватные кредитование, заимствование и торговлю. Пользователи могут доказывать, что у них достаточно залога или что они соответствуют условиям кредитования, не раскрывая полную историю кошелька или баланс.

Совместимость между цепочками (interoperability)

ZKP могут проверять состояние одной блокчейн-сети в другой без необходимости запускать полный узел. Это делает возможным создание кроссчейн-мостов и уровней совместимости, которые наследуют криптографическую безопасность, а не полагаются на доверенных посредников.

Ограничения доказательств с нулевым разглашением

ZKP — не универсальное решение всех задач по конфиденциальности и масштабированию. Генерация ZKP требует существенных вычислений, что может означать повышенные требования к аппаратному обеспечению для провайдеров доказательств (provers). Это улучшается по мере зрелости ПО для доказательств, но по-прежнему остаётся фактором, который нужно учитывать для небольших сетей.

Требование доверенной настройки для zk-SNARKs вводит предположение о доверии, которое некоторые разработчики и пользователи предпочитают не допускать. И хотя ZKP вероятностны в своих гарантиях корректности (то есть вероятность ложного доказательства, прошедшего проверку, крайне мала, но не равна нулю), в целом это считается приемлемым для практических целей.

Наконец, технология ZKP всё ещё развивается. Аудит схем (circuits) для ZKP — сложная задача и требует специализированной экспертизы. В реализациях ZKP находили несколько громких уязвимостей, что подчёркивает важность тщательного обзора перед внедрением в производственные системы.

Часто задаваемые вопросы

Что такое доказательство с нулевым разглашением простыми словами?

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

В чём разница между zk-SNARKs и zk-STARKs?

zk-SNARKs дают более компактные доказательства и быстро проверяются, но требуют доверенной настройки. zk-STARKs не требуют доверенной настройки и более устойчивы к квантовым атакам, но при этом производят более крупные доказательства. И то и другое используется в производственных блокчейн-системах.

Как используются доказательства с нулевым разглашением в масштабировании Ethereum?

zk-rollups используют доказательства с нулевым разглашением, чтобы объединять множество транзакций вне сети (off-chain) и отправлять в Ethereum одно-единственное доказательство для проверки. Это повышает пропускную способность и снижает комиссии за транзакции, сохраняя при этом безопасность базового уровня Ethereum.

Доказательства с нулевым разглашением полностью безопасны?

ZKP предоставляют очень сильные криптографические гарантии, но они не являются безошибочными. Шаг доверенной настройки в zk-SNARKs вводит предположение о доверии. В некоторых проектах находили ошибки в реализациях ZKP-схем. Как и для любой криптографической системы, безопасность зависит от корректной реализации и постоянного аудита.

Финальные мысли

Доказательства с нулевым разглашением прошли путь от теоретической концепции к одному из базовых строительных блоков современной инфраструктуры блокчейнов. Они обеспечивают приватность, повышают масштабируемость и открывают новые сценарии использования в сферах DeFi, идентификации и совместимости между сетями.

Технология продолжает быстро развиваться. Сети zkEVM уже работают в Ethereum, издержки снижаются, и новые приложения на основе ZKP регулярно внедряются. В ближайшие годы ZKP, вероятно, сыграют всё более центральную роль в том, как блокчейны решают задачи конфиденциальности и масштабирования.

Дополнительные материалы для чтения

  • Zk-SNARKs и zk-STARKs: объяснение

  • Что такое zk-Rollups? Техника масштабирования уровня 2

  • Оптимистичные vs. ZK-rollups: в чём разница?

  • Масштабирование Level 1 и Level 2 в блокчейне

  • Повышение прозрачности криптовалют с помощью доказательств с нулевым разглашением


Отказ от ответственности: Этот материал предоставляется вам «как есть» только для общей информации и в образовательных целях и не содержит никаких заявлений или гарантий. Он не должен рассматриваться как финансовая, юридическая или иная профессиональная консультация и не предназначен для рекомендации покупки какого-либо конкретного продукта или услуги. Вам следует обратиться за собственной консультацией к соответствующим профессиональным специалистам. Если контент подготовлен сторонним автором, пожалуйста, учтите, что выраженные им взгляды принадлежат этому стороннему автору и не обязательно отражают позицию Binance Academy. Цены цифровых активов могут быть волатильными. Стоимость ваших инвестиций может как расти, так и падать, и вы можете не вернуть вложенную сумму. Вы несёте полную ответственность за свои инвестиционные решения, а Binance Academy не несёт ответственности за любые убытки, которые вы можете понести. Для получения дополнительной информации см. наши Условия использования, Предупреждение о рисках и Условия Binance Academy.