Categories: Новичкам

Протоколы zk-SNARKs и zk-STARKs: особенности и различия

Текст:
Сергей Ковалев

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

Содержание

zk-SNARKs и zk-STARKs

zk-SNARKs (Zero-Knowledge Succinct Non-Interactive ARgument of Knowledge) — первая технология доказательства с нулевым знанием, а zk-STARKs (Zero-Knowledge Scalable Transparent ARguments of Knowledge) — более продвинутая версия. Эти аргументы знания коротко можно охарактеризовать так: «Проверяющий знает некоторую личную информацию, которая удовлетворяет некоторой публичной функции».

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

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

  1. Полнота. Проверяющий может убедиться в достоверности данных.
  2. Обоснованность. Если информатор лжет, проверяющий это узнает.
  3. Нулевое знание. Если утверждение истинно, верификатор не узнает ничего, кроме факта, что утверждение верно.
  4. Краткое содержание. Размер доказательства должен быть достаточно мал, чтобы его можно было проверить за несколько миллисекунд.
  5. Неинтерактивный. Только один набор информации отправляется верификатору для проверки, поэтому нет никакой обратной связи между проверяющим и верификатором.
  6. Знание. Доказательство не может быть построено без доступа к свидетелю (личный вклад необходим для подтверждения заявления).

Различия между ZK-SNARK и ZK-STARK

Более развитая версия zk-SNARKS называется zk-STARKs (прозрачный аргумент знания с нулевым знанием). Он был создан Эли-Беном Сассоном, профессором Технион-Израильского технологического института. 

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

  1. Для ZK-SNARK требуется доверенная фаза установки, в то время как ZK-STARK используют публично проверяемую случайность для создания надежно проверяемых вычислительных систем, что уменьшает затраты денег и времени.
  2. ZK-STARK более масштабируемы с точки зрения вычислительной скорости и размера по сравнению с ZK-SNARK.
  3. ZK-SNARKs уязвимы для атак со стороны квантовых компьютеров из-за криптографии, которую они используют. ZK-STARK в настоящее время являются квантовостойкими.
  4. Сложность арифметической схемы. В технологиях zk-SNARK и zk-STARK код генерируется в такой форме, которая разбивается на схемы и вычисляется. С увеличением сложности вычислений сложность связи zk-SNARK также линейно возрастает. zk-STARK развивается в противоположном направлении и медленно растет с ростом размера вычислений, что является большим преимуществом zk-STARK по сравнению с zk-SNARK.
  5. Сложность прувера. Zk-STARK работает в 10 раз быстрее, чем zk-SNARK.
  6. Сложность верификатора. С ростом размера вычислений zk-STARK увеличивается медленнее, но SNARK нужно меньше времени для подтверждения доказательства. Например, для подтверждения STARK требуется до 100 мс, а для SNARK — до 10 мс.

Еще одна вещь, которую следует учитывать, это то, что zk-SNARK сложно применить при сложности шкалы доказательств.

Масштабирующие преимущества использования STARK

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

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

Завершение обзора

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

На этом все и до новых встреч!