Доказательство с нулевым разглашением — это способ доказать истинность утверждения, не раскрывая само утверждение. «Прувер» — это сторона, пытающаяся доказать утверждение, в то время как «верификатор» отвечает за проверку этого утверждения.
Доказательства с нулевым разглашением впервые появились в статье 1985 года «Сложность знаний в интерактивных системах доказательств (opens in a new tab)» (The knowledge complexity of interactive proof systems), в которой дается определение доказательств с нулевым разглашением, широко используемое сегодня:
Протокол с нулевым разглашением — это метод, с помощью которого одна сторона (прувер) может доказать другой стороне (верификатору), что что-то является истинным, не раскрывая никакой информации, кроме того факта, что это конкретное утверждение истинно.
С годами доказательства с нулевым разглашением совершенствовались, и теперь они используются в нескольких реальных приложениях.
Зачем нам нужны доказательства с нулевым разглашением?
Доказательства с нулевым разглашением стали прорывом в прикладной криптографии, поскольку они обещали повысить безопасность информации для частных лиц. Подумайте, как бы вы могли доказать утверждение (например, «Я гражданин страны X») другой стороне (например, поставщику услуг). Вам нужно было бы предоставить «доказательства» в поддержку вашего утверждения, такие как национальный паспорт или водительские права.
Но у этого подхода есть проблемы, главная из которых — отсутствие приватности. Персональные данные (PII), передаваемые сторонним сервисам, хранятся в центральных базах данных, которые уязвимы для взломов. Поскольку кража личных данных становится критической проблемой, звучат призывы к созданию более защищающих приватность способов обмена конфиденциальной информацией.
Доказательства с нулевым разглашением решают эту проблему, устраняя необходимость раскрывать информацию для доказательства достоверности утверждений. Протокол с нулевым разглашением использует утверждение (называемое «свидетель») в качестве входных данных для создания краткого доказательства его достоверности. Это доказательство предоставляет надежные гарантии того, что утверждение истинно, не раскрывая информацию, использованную при его создании.
Возвращаясь к нашему предыдущему примеру, единственное доказательство, которое вам нужно для подтверждения вашего гражданства, — это доказательство с нулевым разглашением. Верификатору нужно лишь проверить, выполняются ли определенные свойства доказательства, чтобы убедиться, что лежащее в его основе утверждение также верно.
Варианты использования доказательств с нулевым разглашением
Анонимные платежи
Платежи по кредитным картам часто видны нескольким сторонам, включая поставщика платежных услуг, банки и другие заинтересованные стороны (например, государственные органы). Хотя финансовый надзор имеет преимущества для выявления незаконной деятельности, он также подрывает приватность обычных граждан.
Криптовалюты предназначались для того, чтобы предоставить пользователям средства для проведения приватных одноранговых транзакций. Но большинство криптовалютных транзакций открыто видны в публичных блокчейнах. Личности пользователей часто псевдонимны и либо намеренно связаны с реальными личностями (например, путем включения адресов ETH в профили Твиттер или GitHub), либо могут быть связаны с реальными личностями с использованием базового анализа данных ончейн и офчейн.
Существуют специальные «приватные монеты», предназначенные для полностью анонимных транзакций. Блокчейны, ориентированные на приватность, такие как Zcash и Monero, скрывают детали транзакции, включая адреса отправителя/получателя, тип актива, количество и время транзакции.
Встраивая технологию нулевого разглашения в протокол, ориентированные на приватность -сети позволяют проверять транзакции без необходимости доступа к данным транзакций. EIP-7503 (opens in a new tab) — это пример предложенного дизайна, который позволит осуществлять нативные приватные переводы ценности в блокчейне Эфириум. Однако такие предложения трудно реализовать из-за сочетания проблем безопасности, регулирования и пользовательского опыта (UX).
Доказательства с нулевым разглашением также применяются для анонимизации транзакций в публичных блокчейнах. Примером является Tornado Cash, децентрализованный некастодиальный сервис, который позволяет пользователям проводить приватные транзакции в Эфириуме. Tornado Cash использует доказательства с нулевым разглашением для запутывания деталей транзакций и гарантии финансовой приватности. К сожалению, поскольку эти инструменты приватности используются по желанию, они ассоциируются с незаконной деятельностью. Чтобы преодолеть это, приватность в конечном итоге должна стать стандартом по умолчанию в публичных блокчейнах. Узнайте больше о приватности в Эфириуме.
Защита идентичности
Текущие системы управления идентичностью подвергают риску личную информацию. Доказательства с нулевым разглашением могут помочь людям подтверждать свою личность, защищая при этом конфиденциальные данные.
Доказательства с нулевым разглашением особенно полезны в контексте децентрализованной идентичности (DID). Децентрализованная идентичность (также описываемая как «самосуверенная идентичность») дает человеку возможность контролировать доступ к личным идентификаторам. Доказательство вашего гражданства без раскрытия вашего ИНН или паспортных данных — хороший пример того, как технология нулевого разглашения обеспечивает децентрализованную идентичность.
ZKP + Идентичность в действии: Национальная цифровая идентичность Бутана (NDI) на Эфириуме
Реальным примером использования ZKP для систем управления идентичностью является система Национальной цифровой идентичности (NDI) Королевства Бутан, созданная на Эфириуме. NDI Бутана использует ZKP, чтобы позволить гражданам криптографически доказывать факты о себе, такие как «Я гражданин» или «Мне больше 18 лет», не раскрывая конфиденциальные личные данные в своем удостоверении личности.
Узнайте больше о NDI Бутана в тематическом исследовании децентрализованной идентичности.
Доказательство человечности (Proof of Humanity)
Одним из наиболее широко используемых примеров доказательств с нулевым разглашением в действии сегодня является протокол World ID (opens in a new tab), который можно рассматривать как «глобальный цифровой паспорт для эпохи ИИ». Он позволяет людям доказывать, что они являются уникальными личностями, не раскрывая личную информацию. Это достигается с помощью устройства под названием Orb, которое сканирует радужную оболочку глаза человека и генерирует код радужной оболочки. Код радужной оболочки проверяется и верифицируется, чтобы подтвердить, что человек является биологически уникальным человеческим существом. После верификации коммитмент идентичности, сгенерированный на устройстве пользователя (и не связанный с биометрическими данными или не производный от них), добавляется в безопасный список в блокчейне. Затем, всякий раз, когда пользователь хочет доказать, что он верифицированный человек — будь то для входа в систему, чтобы голосовать или выполнять другие действия — он может сгенерировать доказательство с нулевым разглашением, которое подтверждает его членство в списке. Прелесть использования доказательства с нулевым разглашением заключается в том, что раскрывается только одно утверждение: этот человек уникален. Все остальное остается приватным.
World ID опирается на протокол Semaphore (opens in a new tab), разработанный командой PSE (opens in a new tab) в Фонде Ethereum. Semaphore разработан как легкий, но мощный способ генерации и проверки доказательств с нулевым разглашением. Он позволяет пользователям доказывать, что они являются частью группы (в данном случае — верифицированных людей), не показывая, каким именно членом группы они являются. Semaphore также обладает высокой гибкостью, позволяя создавать группы на основе широкого спектра критериев, таких как верификация личности, участие в событиях или владение учетными данными.
Аутентификация
Использование онлайн-сервисов требует подтверждения вашей личности и права доступа к этим платформам. Это часто требует предоставления личной информации, такой как имена, адреса электронной почты, даты рождения и так далее. Вам также может потребоваться запоминать длинные пароли или рисковать потерей доступа.
Однако доказательства с нулевым разглашением могут упростить аутентификацию как для платформ, так и для пользователей. Как только ZK-доказательство сгенерировано с использованием публичных входных данных (например, данных, подтверждающих членство пользователя на платформе) и приватных входных данных (например, данных пользователя), пользователь может просто предъявить его для аутентификации своей личности, когда ему нужен доступ к сервису. Это улучшает пользовательский опыт и освобождает организации от необходимости хранить огромные объемы информации о пользователях.
Проверяемые вычисления
Проверяемые вычисления — это еще одно применение технологии нулевого разглашения для улучшения архитектуры блокчейнов. Проверяемые вычисления позволяют нам передавать вычисления другой сущности, сохраняя при этом проверяемые результаты. Сущность отправляет результат вместе с доказательством, подтверждающим, что программа была выполнена правильно.
Проверяемые вычисления критически важны для повышения скорости обработки в блокчейнах без снижения безопасности. Понимание этого требует знания различий в предлагаемых решениях для масштабирования Эфириума.
Решения для масштабирования ончейн, такие как шардинг, требуют масштабной модификации базового уровня блокчейна. Однако этот подход очень сложен, и ошибки в реализации могут подорвать модель безопасности Эфириума.
Решения для масштабирования офчейн не требуют перепроектирования основного протокола Эфириума. Вместо этого они полагаются на модель аутсорсинга вычислений для повышения пропускной способности на базовом уровне Эфириума.
Вот как это работает на практике:
-
Вместо обработки каждой транзакции Эфириум переносит выполнение в отдельную цепь.
-
После обработки транзакций другая цепь возвращает результаты для применения к состоянию Эфириума.
Преимущество здесь в том, что Эфириуму не нужно выполнять никаких вычислений, и ему нужно только применить результаты переданных вычислений к своему состоянию. Это снижает перегрузку сети, а также повышает скорость транзакций (офчейн-протоколы оптимизированы для более быстрого выполнения).
Цепи нужен способ проверки офчейн-транзакций без их повторного выполнения, иначе ценность офчейн-выполнения теряется.
Здесь в игру вступают проверяемые вычисления. Когда узел выполняет транзакцию за пределами Эфириума, он отправляет доказательство с нулевым разглашением, чтобы доказать правильность офчейн-выполнения. Это доказательство (называемое ) гарантирует, что транзакция действительна, позволяя Эфириуму применить результат к своему состоянию — не дожидаясь, пока кто-либо оспорит его.
Роллапы с нулевым разглашением и валидиумы — это два решения для масштабирования офчейн, которые используют доказательства достоверности для обеспечения безопасной масштабируемости. Эти протоколы выполняют тысячи транзакций офчейн и отправляют доказательства для проверки в Эфириуме. Эти результаты могут быть применены немедленно после проверки доказательства, что позволяет Эфириуму обрабатывать больше транзакций без увеличения вычислений на базовом уровне.
Помимо масштабирования уровня 2 (l2), доказательства с нулевым разглашением также могут проверять само выполнение блоков уровня 1 (l1) Эфириума. zkEVM для проверки L1 позволит валидаторам проверять блоки путем проверки доказательства, а не повторного выполнения всех транзакций, что позволит увеличить лимиты газа без повышения требований к оборудованию валидаторов.
Снижение взяточничества и сговора при ончейн-голосовании
Схемы голосования на блокчейне имеют много благоприятных характеристик: они полностью проверяемы, защищены от атак, устойчивы к цензуре и свободны от географических ограничений. Но даже схемы ончейн-голосования не застрахованы от проблемы сговора.
Определяемый как «координация с целью ограничения открытой конкуренции путем обмана, мошенничества и введения в заблуждение других», сговор может принимать форму злоумышленника, влияющего на голосование путем предложения взяток. Например, Алиса может получить взятку от Боба, чтобы проголосовать за option B в бюллетене, даже если она предпочитает option A.
Взяточничество и сговор ограничивают эффективность любого процесса, который использует голосование в качестве сигнального механизма (особенно там, где пользователи могут доказать, как они голосовали). Это может иметь серьезные последствия, особенно когда голоса отвечают за распределение дефицитных ресурсов.
Например, механизмы квадратичного финансирования (opens in a new tab) полагаются на пожертвования для измерения предпочтений определенных вариантов среди различных проектов общественного блага. Каждое пожертвование считается «голосом» за конкретный проект, при этом проекты, получившие больше голосов, получают больше средств из пула софинансирования.
Использование ончейн-голосования делает квадратичное финансирование уязвимым для сговора: транзакции в блокчейне публичны, поэтому взяткодатели могут проверять ончейн-активность взяткополучателя, чтобы увидеть, как он «проголосовал». Таким образом, квадратичное финансирование перестает быть эффективным средством распределения средств на основе совокупных предпочтений сообщества.
К счастью, новые решения, такие как MACI (Минимальная инфраструктура против сговора), используют доказательства с нулевым разглашением, чтобы сделать ончейн-голосование (например, механизмы квадратичного финансирования) устойчивым к взяточничеству и сговору. MACI — это набор смарт-контрактов и скриптов, которые позволяют центральному администратору (называемому «координатором») агрегировать голоса и подсчитывать результаты, не раскрывая подробностей о том, как голосовал каждый отдельный человек. Тем не менее, по-прежнему можно проверить, что голоса были подсчитаны правильно, или подтвердить, что конкретный человек участвовал в раунде голосования.
Как MACI работает с доказательствами с нулевым разглашением?
В начале координатор развертывает контракт MACI в Эфириуме, после чего пользователи могут зарегистрироваться для голосования (зарегистрировав свой открытый ключ в смарт-контракте). Пользователи отдают голоса, отправляя сообщения, зашифрованные их открытым ключом, в смарт-контракт (действительный голос должен быть подписан самым последним открытым ключом, связанным с личностью пользователя, среди прочих критериев). После этого координатор обрабатывает все сообщения по окончании периода голосования, подсчитывает голоса и проверяет результаты ончейн.
В MACI доказательства с нулевым разглашением используются для обеспечения правильности вычислений, делая невозможным для координатора неправильную обработку голосов и подсчет результатов. Это достигается за счет требования к координатору генерировать доказательства zk-SNARK, подтверждающие, что а) все сообщения были обработаны правильно, б) окончательный результат соответствует сумме всех действительных голосов.
Таким образом, даже без предоставления разбивки голосов по пользователям (как это обычно бывает), MACI гарантирует целостность результатов, рассчитанных в процессе подсчета. Эта функция полезна для снижения эффективности базовых схем сговора. Мы можем изучить эту возможность, используя предыдущий пример, когда Боб подкупает Алису, чтобы она проголосовала за вариант:
- Алиса регистрируется для голосования, отправляя свой открытый ключ в смарт-контракт.
- Алиса соглашается проголосовать за
option Bв обмен на взятку от Боба. - Алиса голосует за
option B. - Алиса тайно отправляет зашифрованную транзакцию, чтобы изменить открытый ключ, связанный с ее личностью.
- Алиса отправляет еще одно (зашифрованное) сообщение в смарт-контракт, голосуя за
option Aс использованием нового открытого ключа. - Алиса показывает Бобу транзакцию, которая показывает, что она проголосовала за
option B(которая недействительна, поскольку открытый ключ больше не связан с личностью Алисы в системе). - При обработке сообщений координатор пропускает голос Алисы за
option Bи учитывает только голос заoption A. Следовательно, попытка Боба вступить в сговор с Алисой и манипулировать ончейн-голосованием проваливается.
Использование MACI действительно требует доверия к координатору в том, что он не вступит в сговор со взяткодателями и не попытается сам подкупить избирателей. Координатор может расшифровывать сообщения пользователей (что необходимо для создания доказательства), поэтому он может точно проверить, как проголосовал каждый человек.
Но в случаях, когда координатор остается честным, MACI представляет собой мощный инструмент для гарантии неприкосновенности ончейн-голосования. Это объясняет его популярность среди приложений квадратичного финансирования (например, clr.fund (opens in a new tab)), которые сильно зависят от честности выбора каждого отдельного избирателя.
Узнайте больше о MACI (opens in a new tab).
Как работают доказательства с нулевым разглашением?
Доказательство с нулевым разглашением позволяет вам доказать истинность утверждения, не делясь содержанием утверждения и не раскрывая, как вы узнали правду. Чтобы сделать это возможным, протоколы с нулевым разглашением полагаются на алгоритмы, которые принимают некоторые данные в качестве входных и возвращают «истина» или «ложь» в качестве выходных.
Протокол с нулевым разглашением должен удовлетвоть следующим критериям:
-
Полнота: Если входные данные действительны, протокол с нулевым разглашением всегда возвращает «истина». Следовательно, если лежащее в основе утверждение истинно, а прувер и верификатор действуют честно, доказательство может быть принято.
-
Надежность: Если входные данные недействительны, теоретически невозможно обмануть протокол с нулевым разглашением, чтобы он вернул «истина». Следовательно, лгущий прувер не может обмануть честного верификатора, заставив его поверить в то, что недействительное утверждение является действительным (за исключением крошечной доли вероятности).
-
Нулевое разглашение: Верификатор не узнает об утверждении ничего, кроме его истинности или ложности (у него «нулевое знание» об утверждении). Это требование также не позволяет верификатору извлечь исходные входные данные (содержание утверждения) из доказательства.
В базовой форме доказательство с нулевым разглашением состоит из трех элементов: свидетель, вызов и ответ.
-
Свидетель: С помощью доказательства с нулевым разглашением прувер хочет доказать знание некоторой скрытой информации. Секретная информация является «свидетелем» доказательства, и предполагаемое знание прувером свидетеля устанавливает набор вопросов, на которые может ответить только сторона, обладающая знанием этой информации. Таким образом, прувер начинает процесс доказательства, случайным образом выбирая вопрос, вычисляя ответ и отправляя его верификатору.
-
Вызов: Верификатор случайным образом выбирает другой вопрос из набора и просит прувера ответить на него.
-
Ответ: Прувер принимает вопрос, вычисляет ответ и возвращает его верификатору. Ответ прувера позволяет верификатору проверить, действительно ли первый имеет доступ к свидетелю. Чтобы убедиться, что прувер не угадывает вслепую и не получает правильные ответы случайно, верификатор выбирает больше вопросов, чтобы задать их. При многократном повторении этого взаимодействия вероятность того, что прувер подделает знание свидетеля, значительно снижается, пока верификатор не будет удовлетворен.
Выше описана структура «интерактивного доказательства с нулевым разглашением». Ранние протоколы с нулевым разглашением использовали интерактивное доказательство, где проверка достоверности утверждения требовала двусторонней связи между пруверами и верификаторами.
Хорошим примером, иллюстрирующим, как работают интерактивные доказательства, является знаменитая история о пещере Али-Бабы (opens in a new tab) Жан-Жака Кискатера. В этой истории Пегги (прувер) хочет доказать Виктору (верификатору), что она знает секретную фразу, чтобы открыть волшебную дверь, не раскрывая саму фразу.
Неинтерактивные доказательства с нулевым разглашением
Несмотря на свою революционность, интерактивное доказательство имело ограниченную полезность, поскольку требовало, чтобы обе стороны были доступны и неоднократно взаимодействовали. Даже если бы верификатор был убежден в честности прувера, доказательство было бы недоступно для независимой проверки (вычисление нового доказательства требовало нового набора сообщений между прувером и верификатором).
Чтобы решить эту проблему, Мануэль Блюм, Пол Фельдман и Сильвио Микали предложили первые неинтерактивные доказательства с нулевым разглашением (opens in a new tab), в которых прувер и верификатор имеют общий ключ. Это позволяет пруверу продемонстрировать свое знание некоторой информации (т. е. свидетеля), не предоставляя саму информацию.
В отличие от интерактивных доказательств, неинтерактивные доказательства требовали только одного раунда связи между участниками (прувером и верификатором). Прувер передает секретную информацию специальному алгоритму для вычисления доказательства с нулевым разглашением. Это доказательство отправляется верификатору, который проверяет, что прувер знает секретную информацию, используя другой алгоритм.
Неинтерактивное доказательство сокращает связь между прувером и верификатором, делая ZK-доказательства более эффективными. Более того, как только доказательство сгенерировано, оно доступно для проверки любому другому лицу (имеющему доступ к общему ключу и алгоритму проверки).
Неинтерактивные доказательства стали прорывом для технологии нулевого разглашения и стимулировали развитие систем доказательств, используемых сегодня. Мы обсуждаем эти типы доказательств ниже:
zk-SNARKs
zk-SNARK — это аббревиатура от Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (Краткий неинтерактивный аргумент знания с нулевым разглашением). Протокол zk-SNARK обладает следующими качествами:
-
Нулевое разглашение: Верификатор может подтвердить целостность утверждения, не зная о нем ничего другого. Единственное знание, которое верификатор имеет об утверждении, — это то, истинно оно или ложно.
-
Краткость: Доказательство с нулевым разглашением меньше свидетеля и может быть быстро проверено.
-
Неинтерактивность: Доказательство является «неинтерактивным», потому что прувер и верификатор взаимодействуют только один раз, в отличие от интерактивных доказательств, которые требуют нескольких раундов связи.
-
Аргумент: Доказательство удовлетворяет требованию «надежности», поэтому обман крайне маловероятен.
-
Знания: Доказательство с нулевым разглашением не может быть построено без доступа к секретной информации (свидетелю). Пруверу, у которого нет свидетеля, трудно, если не невозможно, вычислить действительное доказательство с нулевым разглашением.
Упомянутый ранее «общий ключ» относится к публичным параметрам, которые прувер и верификатор соглашаются использовать при генерации и проверке доказательств. Генерация публичных параметров (в совокупности известных как Общая ссылочная строка (CRS)) является деликатной операцией из-за ее важности для безопасности протокола. Если энтропия (случайность), используемая при генерации CRS, попадет в руки нечестного прувера, он сможет вычислять ложные доказательства.
Многосторонние вычисления (MPC) (opens in a new tab) — это способ снижения рисков при генерации публичных параметров. Несколько сторон участвуют в церемонии доверенной установки (opens in a new tab), где каждый человек вносит некоторые случайные значения для генерации CRS. До тех пор, пока хотя бы одна честная сторона уничтожает свою часть энтропии, протокол zk-SNARK сохраняет вычислительную надежность.
Доверенные установки требуют от пользователей доверять участникам генерации параметров. Однако разработка ZK-STARK позволила создать протоколы доказательства, которые работают с недоверенной установкой.
ZK-STARKs
ZK-STARK — это аббревиатура от Zero-Knowledge Scalable Transparent Argument of Knowledge (Масштабируемый прозрачный аргумент знания с нулевым разглашением). ZK-STARK похожи на zk-SNARK, за исключением того, что они:
-
Масштабируемые: ZK-STARK быстрее, чем zk-SNARK, генерирует и проверяет доказательства, когда размер свидетеля больше. С доказательствами STARK время прувера и проверки лишь незначительно увеличивается по мере роста свидетеля (время прувера и верификатора SNARK увеличивается линейно с размером свидетеля).
-
Прозрачные: ZK-STARK полагается на публично проверяемую случайность для генерации публичных параметров для доказательства и проверки вместо доверенной установки. Таким образом, они более прозрачны по сравнению с zk-SNARK.
ZK-STARK создают более крупные доказательства, чем zk-SNARK, что означает, что они обычно имеют более высокие накладные расходы на проверку. Однако бывают случаи (например, доказательство больших наборов данных), когда ZK-STARK могут быть более экономически эффективными, чем zk-SNARK.
Недостатки использования доказательств с нулевым разглашением
Затраты на оборудование
Генерация доказательств с нулевым разглашением включает в себя очень сложные вычисления, которые лучше всего выполнять на специализированных машинах. Поскольку эти машины дороги, они часто недоступны для обычных людей. Кроме того, приложения, которые хотят использовать технологию нулевого разглашения, должны учитывать затраты на оборудование, что может увеличить расходы для конечных пользователей.
Затраты на проверку доказательств
Проверка доказательств также требует сложных вычислений и увеличивает затраты на внедрение технологии нулевого разглашения в приложениях. Эта стоимость особенно актуальна в контексте доказательства вычислений. Например, ZK-роллапы платят ~ 500 000 газа за проверку одного доказательства zk-SNARK в Эфириуме, при этом ZK-STARK требуют еще более высоких комиссий.
Допущения о доверии
В zk-SNARK Общая ссылочная строка (публичные параметры) генерируется один раз и доступна для повторного использования сторонам, желающим участвовать в протоколе с нулевым разглашением. Публичные параметры создаются с помощью церемонии доверенной установки, где предполагается, что участники честны.
Но у пользователей действительно нет способа оценить честность участников, и пользователям приходится верить разработчикам на слово. ZK-STARK свободны от допущений о доверии, поскольку случайность, используемая при генерации строки, публично проверяема. Тем временем исследователи работают над недоверенными установками для zk-SNARK, чтобы повысить безопасность механизмов доказательства.
Угрозы квантовых вычислений
zk-SNARK использует криптографию на эллиптических кривых для шифрования. Хотя проблема дискретного логарифмирования эллиптической кривой в настоящее время считается неразрешимой, развитие квантовых компьютеров может сломать эту модель безопасности в будущем.
ZK-STARK считается невосприимчивым к угрозе квантовых вычислений, поскольку для своей безопасности он полагается только на устойчивые к коллизиям хеш-функции. В отличие от пар открытого и приватного ключей, используемых в криптографии на эллиптических кривых, устойчивое к коллизиям хеширование сложнее взломать алгоритмам квантовых вычислений.
Дополнительная литература
- Обзор вариантов использования доказательств с нулевым разглашением (opens in a new tab) — Команда Privacy and Scaling Explorations
- SNARK против STARK против рекурсивных SNARK (opens in a new tab) — Alchemy Overviews
- Доказательство с нулевым разглашением: улучшение приватности в блокчейне (opens in a new tab) — Дмитрий Лавренов
- zk-SNARK — реалистичный пример нулевого разглашения и глубокое погружение (opens in a new tab) — Адам Лучано
- ZK-STARK — создание проверяемого доверия даже против квантовых компьютеров (opens in a new tab) — Адам Лучано
- Приблизительное введение в то, как возможны zk-SNARK (opens in a new tab) — Виталик Бутерин
- Почему доказательства с нулевым разглашением (ZKP) меняют правила игры для самосуверенной идентичности (opens in a new tab) — Франклин Охаэгбулам
- Объяснение EIP-7503: обеспечение приватных переводов в Эфириуме с помощью ZK-доказательств (opens in a new tab) — Эммануэль Авосика
- Карточная игра ZK: игра для изучения основ ZK и реальных вариантов использования (opens in a new tab) - ZK-Cards