Что такое zk-SNARKs и zk-STARKs?
Главная
Статьи
Что такое zk-SNARKs и zk-STARKs?

Что такое zk-SNARKs и zk-STARKs?

Профессионал
Опубликовано Feb 26, 2019Обновлено Feb 22, 2024
6m
Конфиденциальность всегда рассматривалась криптовалютным комьюнити как очень ценная особенность. Это предшественник взаимозаменяемости, который необходим для широко используемой формы денег. Большинство владельцев крипто-активов не хотят, чтобы их сбережения и истории транзакций были полностью публичными. Среди различных криптографических методов, направленных на обеспечение конфиденциальности блокчейнов, присутствуют два примера доказательств заслуживающих внимания, это zk-SNARK и zk-STARK.

zk-SNARK обозначает краткий неинтерактивный аргумент знания с нулевым разглашением, а zk-STARK представляет собой краткий прозрачный аргумент знания, с нулевым разглашением. Доказательство Zk-SNARK уже используются в Zcash, платежной системе JP Morgan Chase, основанной на блокчейн, и в качестве способа безопасной аутентификации клиентов на серверах. Но в то время как zk-SNARK добились значительных успехов, в становлении и адаптации, zk-STARK теперь рекламируются как новая и улучшенная версия протокола, устраняющая многие из предыдущих недостатков zk-SNARK.


Притча о Али Бабе и Пещере 

В 1990 году криптограф Жан-Жак Квискватер (вместе с другими сотрудниками) опубликовал статью под названием “Как Объяснить Протоколы Нулевого Разглашения своим детям”. В статье представлена концепция ZK доказательств с притчей о пещере Али-Бабы. С момента ее публикации она несколько раз подверглась редакции, и на данный момент существует несколько её вариантов. Тем не менее, основная информация по сути та же самая.

Давайте представим себе кольцевую пещеру с одним входом и волшебным дверным проемом, разделяющим две боковые дорожки. Чтобы пройти через магический дверной проем, нужно прошептать правильные секретные слова. Итак, учтите, что Алиса (желтая) хочет доказать Бобу (синему), что она знает секретные слова, и в то же время хочет сдержать их в секрете. Для этого Боб соглашается подождать снаружи, пока она входит в пещеру и идет до конца одного из двух возможных путей. В этом примере она решает пройти путь 1.

Через некоторое время Боб проходит мимо входа и кричит, с какой стороны он хочет, чтобы Алиса появилась (путь 2 в данном случае).

Если Алиса действительно знает секрет, она точно окажется на выбранном Бобом пути. 

Весь процесс может быть повторен несколько раз, чтобы подтвердить, что Алиса не случайно выбрала правильный путь.

Притча о Али-Бабе и Пещере иллюстрирует концепцию доказательств с нулевым разглашением, которое является частью zk-SNARK и zk-STARK протоколов. ZK-доказательства могут быть использованы для подтверждения владения определенными знаниями, не раскрывая никакой при этом информации о них.


zk-SNARKs

Zcash является первым широко доступным zk-SNARKs приложением. В то время как другие проекты по обеспечению конфиденциальности, такие как Monero, используют кольцевые подписи и другие методы, эффективно создавая дымовую завесу вокруг того, кто что-то отправлял, то zk-SNARKS существенно меняет сам способ обмена данными. Конфиденциальность Zcash основана на том факте, что транзакции в сети могут оставаться зашифрованными, но при этом проверяться на достоверность с помощью доказательств с нулевым разглашением. Таким образом, тем, кто применяет правила консенсуса, не нужно обладать всеми данными, лежащими в основе каждой транзакции. Стоит отметить, что функция конфиденциальности в Zcash не активна по умолчанию, а зависит от ручной настройки и является необязательной.

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

Акроним SNARK “сжатый” означает, что эти доказательства меньше по размеру и могут быть быстро проверены. “Неинтерактивный” означает, что взаимодействие между prover и verifier практически отсутствует. Более старые версии протоколов с нулевым разглашением обычно требуют, чтобы проверяющий и верифицирующий контактировали между собой и поэтому они считаются «интерактивными» zk-доказательствами. Но в «неинтерактивных» конструкциях проверяющий и верифицирующий должны обмениваться только одним доказательством.

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

Хотя первоначальная общедоступная настройка является основополагающей для современных реализаций zk-SNARK, исследователи работают над поиском других альтернатив в качестве способа снижения уровня доверия, требуемого в этом процессе. Начальная фаза установки важна для предотвращения контрафактных расходов, потому что, если кто-то имел доступ к случайности, которая генерирует параметры, он мог бы создавать ложные доказательства, которые казались бы действительными для верификатора. В Zcash начальная фаза настройки известна как Церемония Генерации Параметров.
Перейдем к “АРументам” как фрагменту акронима. zk-SNARKs считается вычислительно-обоснованным, а это означает, что мошеннические проверяющие имеют очень низкий шанс успешно обмануть систему. Это свойство известно как прочность и предполагает, что проверяющий имеет ограниченную вычислительную мощность. Теоретически, проверяющий с достаточной вычислительной мощностью может создать поддельные доказательства, и это одна из причин, по которым квантовые компьютеры рассматриваются многими как угроза для zk-SNARK и блокчейн систем.

Последний фрагмент этого акронима - это “Знание” (Knowledge), означающее, что проверяющий не может конструировать доказательства, не имея знания (или свидетеля), подтверждающего их утверждение.

Доказательства с нулевым разглашением быстро проверяются и обычно занимают гораздо меньше данных, чем стандартная Биткойн транзакция. Это открывает путь для использования технологии zk-SNARK в качестве решения для обеспечения конфиденциальности и масштабируемости.


zk-STARKs

zk-STARK был создан как альтернативная версия zk-SNARK и считается более быстрой и дешевой реализацией технологии. Но что более важно, zk-STARK не требует начальной доверительной настройки (следовательно, «T» transparent - прозрачность).

Технически говоря, Zk-STARK не требуют начальной доверенной настройки, поскольку он полагается на более простую симметричную криптографию благодаря его хеш-функциям, устойчивым к коллизии. Этот подход также устраняет теоретико-числовые предположения zk-SNARK, которые являются вычислительно дорогими и теоретически подвержены атакам квантовых компьютеров.

Одна из основных причин, по которой Zk-STARK предлагает более дешевую и быструю имплементацию, заключается в том, что количество циклов обмена данными между проверяющими и верифицирующими остается постоянным, относительно любого увеличения вычислений. Напротив, в zk-SNARKs, чем больше требуется вычислений, тем больше сторонам приходится отправлять сообщений туда и обратно. Поэтому общий размер данных в zk-SNARK намного больше, чем в zk-STARK.

Ясно что и zk-SNARKS, и zk-STARKs апеллируют растущим беспокойством в отношении конфиденциальности. В мире криптовалют эти протоколы имеют большой потенциал и могут стать тем новаторством необходимым к массовому внедрению.
Поделиться
Зарегистрируйте аккаунт
Примените свои знания на практике, открыв аккаунт на Binance сегодня.