Чт. Дек 19th, 2024

Доказательство с нулевым разглашением (Zero-Knowledge Proof, ZKP) — одна из революционных технологий в области криптографии. Концепция предложена еще в середине 1980-х, однако на практике ее реализовали только сейчас. ForkLog предлагает вспомнить, как был совершен этот прорыв, что из себя представляет ZKP в 2024 году и какое будущее у стоящих за его развитием проектов.

Что такое ZKP?

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

Метод совершил прорыв в прикладной криптографии. Его история началась в 1985 году с выходом статьи «Сложность знаний в интерактивных доказательных системах», написанной исследователями из Массачусетского технологического института Шафи Голдвассером, Сильвио Микали и Чарльзом Ракоффом.

В 2014 году эту технологию в модифицированном виде начали применять в Zcash. Со временем она стала набирать популярность, обгоняя другие методы криптографии: кольцевые подписи в Monero и перемешивание транзакций в Dash.

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

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

  • анонимные платежи. Финансовый мониторинг, призванный бороться с преступностью, может угрожать конфиденциальности законопослушных граждан. Проекты вроде Zcash и Monero скрывают детали транзакций, включая адреса отправителя/получателя, тип актива, его объемы и время совершения операции. Кроме того, существуют инструменты повышения анонимности в публичных сетях. Например, Tornado Cash посредством ZKP позволяет проводить приватные транзакции в Ethereum;
  • аутентификация. Многие онлайн-сервисы требуют подтверждения вашей личности и предоставления такой информации, как имя, адрес электронной почты, дата рождения и так далее. Интеграция ZKP в универсальные Web3-идентификаторы наподобие Gitcoin Passport и World ID упрощают аутентификацию не только платформ, но и пользователей; 
  • справедливое голосование на блокчейне. Даже такой метод, как квадратичное финансирование, не защищен от коррупции: транзакции публичны, поэтому дающие взятки могут проверять активность пользователей, которых они подкупили. Решения вроде MACI (Minimum Anti-Collusion Infrastructure) используют ZKP и позволяют «координатору» агрегировать голоса и подводить итоги, не раскрывая, как именно проголосовал каждый участник;
  • масштабируемость блокчейна. Метод проверяемых вычислений используется разработчиками во время передачи данных другому участнику сети. Результат предоставляется вместе с доказательством того, что программа была выполнена правильно. Проверяемые вычисления критически важны для увеличения скорости обработки транзакций, не приводящих к снижению общей безопасности (роллапы, шардинг).

Архитектура и механики

Основными внедрениями ZKP-механик являются сети второго уровня (L2), помогающие ускорить, упростить и частично анонимизировать транзакции. Но также существуют и L1-решения, создающие собственные блокчейны с модульной архитектурой:

  • ZK-Rollups. Надстройки над основным уровнем блокчейна объединяют множество транзакций в одну и публикуют их в L1-сети вместе с доказательством, подтверждающим правильность вычислений;
  • Validium. Этот вариант сочетает доказательства достоверности с хранением информации вне блокчейна, что повышает масштабируемость. Пруфы по-прежнему публикуются в основной сети, в то время как данные находятся вне ее. Это значительно повышает пропускную способность и снижает затраты на газ. Хотя это гораздо более эффективная и масштабируемая архитектура, чем ZK-Rollups, она не защищает от ситуаций, когда злонамеренные участники делают данные недоступными и пользователи оказываются не в состоянии вывести свои активы. Важно отметить, что в этом случае злоумышленники не могут напрямую украсть средства пользователей;
  • Volitions. Это решение сочетает в себе элементы первых двух и позволяет выбирать между любым из решений для масштабирования. Даже если на уровне Validium произойдет успешная атака, средства все равно останутся в безопасности. Это позволяет участникам, готовым платить более высокие комиссии за повышенные гарантии безопасности (ZK-роллапы), взаимодействовать с участниками, предпочитающими более низкие транзакционные издержки (Volition). 

Пруфы, публикуемые в блокчейне, известны как доказательства достоверности. С их помощью можно условно разделить всю экосистему ZKP на два вида: проекты, использующие zk-SNARK, либо zk-STARK. 

Какие бывают ZKP 

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

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

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

Неинтерактивные доказательства стали прорывом для ZKP и стимулировали создание систем, используемых сегодня. Среди проектов, работающих на zk-SNARK, можно выделить следующие:

Loopring (LRC). Первый ZK-роллап, запущенный в 2017 году с фокусом на создание DEX. Он позволяет торговать напрямую из кошельков, обеспечивая полную некастодиальность и анонимность транзакций, что делает операции более безопасными и приватным. Одним из dapps на базе Loopring является DEX DeGate.

Scroll. Проект, основанный на zkEVM, запустил свою основную сеть в октябре 2023 года. Работа мейннета началась после фазы тестирования, длившейся более 15 месяцев и включавший обширные аудиты. В скором времени ожидается аирдроп токена проекта.

Linea. Запущенная в марте 2023 года тестовая сеть от создателей кошелька MetaMask — компании ConsenSys. Она позволяет разрабатывать масштабируемые dapps и переносить существующие без необходимости менять код и переписывать смарт-контракты. На данном этапе идет подготовка к запуску основной сети с активностями в виде заработка поинтов — Linea Voyage XP.

Taiko (TAIKO). После финального шестого тестнета под названием Katla (Alpha-6), запущенного в январе 2024 года, анонсирована основная сеть ZK-роллапа. Этому предшествовал двухлетний период разработки. Taiko использует Based Contestable Rollup — настраиваемый дизайн роллапов с несколькими доказательствами.

Mina Protocol (MINA). Предоставляет возможность развертывания dapps c ZKP-анонимностью, используя один из самых легких блокчейнов с размером блока всего 22 Кб. Для обеспечения масштабируемости и высокой пропускной способности Mina задействует механизм консенсуса Ouroboros Samasika на модифицированном PoS-консенсусе. На следующем уровне Mina использует усовершенствованный SNARK и систему доказательств Kimchi. Он устроен следующим образом: валидаторы SNARK открывают SnarketPlace, в котором публикуют доказательства, а блок-продюсеры делают ставки. Самое конкурентоспособное предложение выигрывает аукцион и делится частью вознаграждения за блок, произведенный с валидаторами. 

Dusk Network (DUSK). L1-сеть с фокусом на конфиденциальность, цифровые активы и RWA. Блокчейн поддерживает стандарт Confidential Security Contract для использования в финансовых приложениях, основанных на конфиденциальных смарт-контрактах с применением ZKP. Dusk Network можно применять в разных сферах: в торговле ценными бумагами и другими активами, управлении цепочками поставок для отслеживания и проверки происхождения и подлинности товаров, обеспечения безопасных и конфиденциальных внутриигровых транзакций в GameFi-сегменте. 

Для стимулирования участия в сети Dusk Network используется механизм консенсуса под названием Segregated Byzantine Agreement, предназначенный для обеспечения быстрых и безопасных подтверждений блоков. Кроме того, держатели токенов должны блокировать свои активы. За участие в валидации блоков и управлении пользователи получают дополнительные DUSK.

Aztec Network. Достаточно крупный стартап, привлекший на ранних стадиях более $100 млн инвестиций. Разрабатываемый его сотрудниками стандарт под названием PLONK делает возможной двухуровневую систему обработки транзакций, совершенствуя zk-SNARK. Решение обеспечивает «проверяемую конфиденциальность», скрывая данные отправителя, получателя и сумму транзакции.

В марте 2023 года проект сообщил о закрытии L2-сети Aztec Connect, оставив код в открытом доступе. Представители компании сообщили о планах дальнейшего развития нового варианта протокола — Noir на базе одноименного языка программирования. На июнь 2024 года проект предлагает разработчикам тестовую сеть Aztec с усовершенствованным фреймворком для написания смарт-контрактов Aztec.nr.

ZKsync (ZK). Один из крупнейших разработчиков в сфере ZKP представляет собой первое EVM-совместимое L2-решение на базе ZK-роллапов, построенное поверх блокчейна Ethereum. Реализация основана на технологии zkEVM, предназначенной для масштабирования смарт-контрактов путем объединения ZKP и возможностей виртуальной машины Ethereum.

Для удобства интеграции и создания ZKP-решений в других проектах разработчики компании Matter Labs реализовали функцию ZK Stack. На ее базе уже создаются такие проекты, как DeSoc-площадка Lens Protocol, DEX нового поколения GRVT, приложения PlayChain, Sophon и Space and Time. Также о намерении присоединиться к экосистеме заявил блокчейн Cosmos

Polygon zkEVM (MATIC). Это L2-решение, разработанное компанией Polygon и использующее технологию ZK-роллапов. Виртуальная машина развернута поверх основного слоя Polygon PoS и обеспечивает безопасность и децентрализацию Ethereum. Технология zkEVM предоставляет совместимость с существующими смарт-контрактами и dapps в сети Ethereum. Это позволяет разворачивать приложения в экосистеме без необходимости в значительных изменениях кода. 

zk-STARK (Zero-Knowledge Scalable Transparent Arguments of Knowledge). Протокол доказательства достоверности, работающий как усовершенствованная версия SNARK — более масштабируемый и не требующий процедуры доверенной установки.

Этот криптографический механизм разработала израильская компания StarkWare Industries, создавшая ZK-роллап второго уровня StarkNet. Среди основателей проекта — криптограф Эли Бен-Сассон, соавтор технологии STARK, который также ранее участвовал в создании Zсash.

В феврале 2024 года команда провела аирдроп токена STRK. В том же месяце разработчики StarkNet из Herodotus в партнерстве со StarkWare представили Cairo Verifier — систему проверки криптографических доказательств для масштабирования L3-сетей на собственном языке Cairo. 

В марте 2024 года компания объявила о запуске нового средства для проверки ZKP под названием Stwo. Оно представляет собой реализацию протокола Circle STARK.   

StarkWare разработала схожий с ZK Stack уровень для масштабирования и анонимности dapps — StarkEx. На нем уже запущены следующие проекты: dYdX, rhino.fi, Sorare, Immutable zkEVM, ApeX, Canvas.

Инфраструктурные решения

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

Среди них стоит выделить следующие проекты: Ankr (ANKR), Marlin (POND), PolyHedra Network (ZKJ), Avail (AVAIL), Snarkify, Dmail, zkBNB Chain, ENS.

Недостатки ZKP

Несмотря на очевидные достоинства, технология ZKP и развивающие ее проекты имеют негативные стороны:

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

Заключение

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

Несмотря на то, что существуют другие решения второго уровня, которые могут предложить лучшую архитектуру для определенных приложений, ZK-роллапы, Validiums и Volitions будут привлекать большое количество пользователей среди частных лиц и предприятий по мере того как индустрия движется к массовому принятию. По данным CoinGecko, на 14 июня 2024 года общая капитализация категории ZK достигла $18 млрд.

Текст: Сергей Голубенко