zk-SNARK

Что такое zk-SNARK?

Zk-SNARK – это аббревиатура от «Краткий неинтерактивный аргумент знания с нулевым разглашением». Zk-SNARK – это доказательство, которое позволяет одной стороне доказать, что она обладает определенной информацией, не раскрывая эту информацию. Это доказательство стало возможным с использованием секретного ключа, созданного до того, как транзакция состоится.

Ключевые моменты

  • Zk-SNARK – это аббревиатура, обозначающая «краткий неинтерактивный аргумент знания с нулевым разглашением».
  • Доказательство, которое было впервые разработано на основе «доказательства с нулевым разглашением», представленного в конце 1980-х годов, было использовано Zcash для решения проблемы предполагаемой анонимности с блокчейнами типа Биткойн.
  • Доказательства Zk-SNARK полагаются на первоначальную настройку «системы доверия», которая была раскритикована как врожденный недостаток безопасности.

Понимание zk-SNARK

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

В начале 2010-х годов пользователи относительно легко повторно идентифицировать людей , которые предоставили псевдонимные данные нескольким источникам.

Из-за предполагаемого отсутствия конфиденциальности некоторых исходных криптовалют, таких как биткойн, разработчики начали работать над монетами, ориентированными на конфиденциальность. Наиболее видным из них был zcash , опираясь на технологию , известную как ZK-SNARKs.

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

Гк-СНАРК ( «нулевого знание сжатый неинтерактивный аргумент знаний») использует концепцию , известную как «доказательство с нулевым знанием.» Идея этих доказательств была впервые разработана в 1980-х годах. Проще говоря, доказательство с нулевым разглашением – это ситуация, в которой каждая из двух сторон транзакции может подтвердить друг другу, что у них есть определенный набор информации, и в то же время не раскрыть, что это за информация.

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

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

Математическая основа zk-SNARKS сложна. Тем не менее, доказательства этого типа позволяют одной стороне продемонстрировать не только наличие определенного фрагмента информации, но и то, что соответствующая сторона осведомлена об этой информации. В случае zcash, zk-SNARK можно проверить почти мгновенно, и протокол не требует какого-либо взаимодействия между проверяющим и проверяющим.

Критика zk-SNARKs

Конечно, есть опасения, связанные с zk-SNARK. Например, если кто-то смог получить доступ к закрытому ключу, который использовался для создания параметров протокола доказательства, он мог создать ложные доказательства, которые, тем не менее, выглядели действительными для верификаторов. Это позволит этому человеку создавать новые токены zcash посредством процесса подделки. Чтобы этого не произошло, zcash был разработан таким образом, чтобы протоколы проверки были детально проработаны и распределены по нескольким сторонам.

Хотя построение процесса проверки zcash было завершено таким образом, чтобы свести к минимуму возможность подделки токенов с помощью ложных доказательств, существует по крайней мере еще одна проблема, связанная с криптовалютой. Zcash был создан с 20% «налогом», взимаемым со всех блоков, созданных в течение первых нескольких лет токена. Этот налог известен как «налог учредителя» и используется для компенсации разработчикам криптовалюты.

Критики предположили, что основатели потенциально могут использовать этот аспект системы для создания бесконечного количества токенов zcash, при этом никто не узнает о существовании этих токенов. По этой причине на данный момент не совсем возможно узнать точное количество токенов zcash.

С 2019 года некоторые разработчики работали над улучшением zk-SNARK, удалив надежную настройку. Команда под названием Suterusu разработала систему под названием zK-ConSNARK, которая утверждает, что работает без доверенной настройки, может обеспечивать защиту конфиденциальности для основных блокчейнов, таких как Биткойн, и имеет самую низкую инфляцию для любой существующей криптовалюты.