Эволюция доказательств с нулевым разглашением (ZKP) в Web3

Написал Виталий Бутерин в <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ftwitter.com%2Fvitalikbuterin%2Fstatus%2F1433228277263462401%3Flang%3Den&postId=391205" rel="nofollow noreferrer noopener" target="_blank">своем Twitter</a>
Написал Виталий Бутерин в своем Twitter

Для обеспечения конфиденциальности всех криптоактивов, Manta Network использует ZKP, в качестве основы своего протокола. В этом году доказательство с нулевым разглашением (ZKP) неоднократно упоминалось лидерами мнений (Виталий Бутерин, предположил, что Zk станет основной технологической революции), а так же известными проектами в Web3 — последние разработки StarkWare, zkSync и других.

Концепция ZKP была впервые предложена Shafi Goldwasser, Silvio Micali и Charles Rackoff в их, основополагающей, статье «Сложность знаний интерактивных систем доказательства» в 1980-х годах. Идея состоит в том, что кто-то может доказать правильность некого утверждения кому-то другому, не раскрывая никакой информации.

Вы найдете полную статью «Сложность знаний интерактивных систем доказательства» <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.419.8132%26amp%3Brep%3Drep1%26amp%3Btype%3Dpdf&postId=391205" rel="nofollow noreferrer noopener" target="_blank">по этой ссылке</a>.<br />
Вы найдете полную статью «Сложность знаний интерактивных систем доказательства» по этой ссылке.

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

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

Как правило, системы ZKP, должны обладать следующими 4 важными свойствами:

  • Полноценность. Честный доказывающий может убедить проверяющего в любом известном ему утверждении.
  • Надежность. Доказывающий, с вычислительными ограничениями, не может лишиться доказательства, способного убедить честного проверяющего.
  • Нулевое знание. Доказательство не дает никакой информации, кроме сути самого доказательства.
  • Краткость. Размер доказательства является постоянным или логарифмическим, по сравнению с размером схемы (т. е. объемом вычислений) утверждения.

Чтобы сгенерировать ZKP, обе стороны, и доказывающая, и проверяющая, должны зафиксировать общий “секрет” и использовать этот общий секрет для создания прочих общедоступных параметров. Этот секрет называется “токсичными отходами”. Если этот секрет будет раскрыт, мошенник может подделать доказательства с нулевым разглашением, чтобы обмануть проверяющих.

Чтобы решить эту проблему, криптографы из ZCash/Berkeley/Technion придумали использовать функцию Multi-Party Computation (MPC) для проведения “Trusted Setup” в системе доказательства с нулевым разглашением. В этом случае, если во время работы “Trusted Setup” присутствует человек, избавившийся от “секрета”, вся система будет в безопасности.

Правда есть и проблема: доверенная установка требует огромных усилий сообщества и это создает проблемы на практике. Например, если вы обнаружите ошибку в своей схеме ZK, вам нужно снова выполнить доверенную настройку, что займет несколько недель. Потерянное время приведет к потере средств. Для решения этой проблемы предложено большое разнообразие систем ZKP. Условно, их можно разделить на 3 категории:

  • zkSNARK (требуется доверенная установка для каждого канала) Примером является широко используемая “Groth16” (ZCash, Filecoin и Celo). На сегодня Groth16 все еще наиболее эффективен. Для каждого канала необходимо выполнить еще одну доверенную настройку.
  • Прозрачный zkSNARK. Он же — STARK, не требует надежной установки. Однако это возможно, за счет большего размера самого доказательства (192 байта в Groth16 против 20~40 КБ), что напрямую влияет на газовую комиссию в сети.
  • Универсальный zkSNARK. Он требует доверенную установку, однако ее необходимо выполнить только один раз, для всех сетей определенного размера. Современные универсальные zkSNARK имеют оптимальный размер доказательства, хорошую эффективность проверяющего и доказывающего. Примером является Plonk, используемый Manta Network, Aztec и Matters Lab.

Что ZKP привносит в Web3?

  • Конфиденциальность

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

Кроме того, можно связать адреса кошельков и существующих в реальности людей, а дальше проследить всю цепочку перемещения средств, по сути эта информация является общедоступной. Например — подтверждение владения NFT, с помощью изображения профиля в Твиттере, с помощью подключения кошелька к своему профилю.

Использование NFT в качестве изображения профиля в Twitter требует от пользователя подключения кошелька, на котором лежит этот NFT.
Использование NFT в качестве изображения профиля в Twitter требует от пользователя подключения кошелька, на котором лежит этот NFT.

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

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

  • Масштабируемость

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

Основная идея для масштабирования протоколов в web3, с использованием ZKP — называется zk-свертыванием. По сути, это объединение большого количества транзакций (например 10 000). В обычной ситуации, это не дало бы никаких преимуществ, потому что валидатору нужно выполнять их одну за другой. Однако с ZKP можно собрать эти 10 000 транзакций в одно доказательство. И валидаторам нужно будет проверить только одно доказательство с нулевым разглашением. Общая оценка демонстрирует эффективность масштабируемости zk-свертывания. Разумеется, ведь выполнить 1 транзакцию проще и дешевле, чем 10000.

Однако, всегда есть нюанс. Zk-накопитель должен сначала собрать эти 10 000 транзакций, перед выполнением. Время ожидания между каждой процедурой — называется конечным временем. Выходит, что более выгодная транзакция — требует больших временных затрат.

Внедрение ZKP командой Manta Network

Полная интеграция ZKP разделяется командой на 3 шага:

Первый шаг — MantaPay. Сейчас первая версия этого продукта работает как тестовая сеть Dolphin с декабря 2021 года. MantaPay — это частный платежный протокол на основе UTXO, который использует zkSNARK для защиты транзакций. Дизайн протокола может показаться похожим на ZCash, однако он имеет два существенных улучшения:

Первое — совместимость. ZCash поддерживает только публичные токены, а MantaPay это приватный платежный протокол с несколькими активами, поддерживающий модель BYOT (Bring Your Own Token). Сейчас это все взаимозаменяемые активы Polkadot/Kusma. С введением межсетевых мостов, количество активов — увеличится.

Второе— масштабируемость. Криптографическая команда Manta оптимизировала дизайн протокола, используя:

  • Устойчивые к коллизиям функции и схемы фиксации с доказательством с нулевого разглашения
  • Современный универсальный zkSNARK (Plonkup)

В результате размер функции MantaPay составляет 1/10 от протокола ZCash Sapling. В сочетании с быстрой обработкой Substrate и высокой пропускной способностью Polkadot, MantaPay станет очень удобным инструментом.

Функции MantaPay, повышают ценность всех активов в экосистеме Polkadot, так как они получают защиту конфиденциальности благодаря Manta.

Эволюция доказательств с нулевым разглашением (ZKP) в Web3
  • Второй шаг — MantaSwap. Это частная децентрализованная биржа на основе AMM с использованием zkSNARK.

Децентрализованная биржа —обеспечивает свободный рынок криптоактивов. Команда Manta хочет повысить конфиденциальность, за счет увеличения ценности приватных активов в сети. MantaSwap использует проверенный дизайн автоматизированного маркет-мейкера (AMM), который обеспечивает эффективность. Используя этот несложный алгоритм обмена, можно гарантировать эффективность доказывающего устройства и небольшой размер доказательства.

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

  • Третий шаг — Смарт-контракт с сохранением конфиденциальности. Программируемость — это душа всего пространства web3. Благодаря этому Web 3 является инновационным и интерактивным.

Смарт-контракты Manta, сохраняющие конфиденциальность, будут основаны на функциях MantaPay и MantaSwap, и позволят любым разработчикам DApp создавать свои собственные протоколы в Manta. Дальнейшие планы Manta заключается в том, чтобы предложить конфиденциальность, как услугу в Web3. А так же предоставить удобные функции, для интеграции с существующими и новыми приложениями, без необходимости в знаниях о безопасности или криптографии от создателей этих приложений.

Использованная литература

  • Сложность знаний интерактивных систем доказательства, Шафф Голдвессар, Сильвио Микали, Чарльз Ракофф
  • Безопасная выборка общедоступных параметров для кратких доказательств с нулевым разглашением Эли Бен-Сассон, Алессандро Кьеза, Мэтью Грин, Эран Тромер, Мадарс Вирза
  • Многосторонний протокол для построения общедоступных параметров Pinocchio zk-SNARK Шона Боуи, Ариэля Габизона, Мэтью Грина.

Немного о Manta

Manta Network стремится сделать Web3 лучше, с помощью повышения конфиденциальности. Продукт Manta обеспечивает сквозную защиту и приватность для пользователей блокчейна, с помощью лучших криптографических архитектур, таких как zkSNARK. Так же Manta предлагает функциональную совместимость, удобство, высокую производительность и возможность аудита, позволяя пользователям проводить приватные переводы и транзакции между любыми активами. Команда Manta хочет предоставить удобные инструменты для защиты конфиденциальности во всех блокчейнах!

Команда основателей Manta состоит из крипто-ветеранов, профессоров и ученых с опытом работы в Гарвардском университете, Массачусетском технологическом институте и Algorand. В число советников Manta входят соучредитель Hypersphere Ventures Джек Платтс, партнер Polychain Текин Салими, бывший соучредитель Web3 Foundation Эшли Тайсон, Шуяо Конг из Consensys.

Основные инвесторы Manta: Polychain, ParaFi, Binance Labs, Multicoin, CoinFund, Alameda, DeFiance и Hypersphere. А также команда Manta — официальный получатель гранта Web3 Foundation, участник Substrate Builder Program и член Berkeley Blockchain Accelerator.

Ресурсы Calamary: [Calamary] Ресурсы Dolphin: [Dolphin testnet]

11
13 комментариев

Чтобы сгенерировать ZKP, обе стороны, и доказывающая, и проверяющая, должны зафиксировать общий “секрет” и использовать этот общий секрет для создания прочих общедоступных параметров. Этот секрет называется “токсичными отходами”. Если этот секрет будет раскрыт, мошенник может подделать доказательства с нулевым разглашением, чтобы обмануть проверяющих.Невероятно, криптодауны изобрели асимметричное шифрование, переименовав термины.

1
Ответить

Столько хейта к крипте, а почему? Потому, что не используете её? Денег еле-еле на сижки хватает?

Ответить

Сообщение удалено

Ответить

Серия видео о принципах работы доказательств с нулевым разглашением:

# Безопасность и конфиденциальность для криптографии с нулевым разглашением
https://youtu.be/Sr7S1bPkiDQ

# Объяснение доказательств с нулевым разглашением на пяти уровнях сложности
https://youtu.be/HLzBKHgrVI4

Ответить