Доказательство с нулевым разглашением (ZKP) — это криптографический протокол, который позволяет одной стороне, обозначенной как доказывающая, убедить другую сторону, обозначенную как проверяющая, в истинности конкретного математического утверждения, не раскрывая никакой информации, кроме самого факта истинности утверждения.
Эта концепция исходит из фундаментального понимания того, что знание и проверка принципиально разделимы: можно продемонстрировать обладание знанием, не передавая это знание.
В контексте технологии блокчейн и криптовалют доказательства с нулевым разглашением стали одним из наиболее революционных подходов. криптографический примитивы, обеспечивающие транзакции с сохранением конфиденциальности, масштабируемые вычисления второго уровня, проверяемую обработку вне блокчейна и системы идентификации, которые подтверждают атрибуты без раскрытия базовых данных.
Математическая основа доказательств с нулевым разглашением опирается на теорию вычислительной сложности и интерактивные системы доказательств. Система доказательств удовлетворяет свойству нулевого разглашения, если для каждого возможного проверяющего, включая враждебных проверяющих, пытающихся извлечь информацию, существует симулятор, который может создать протокол, неотличимый от реального взаимодействия в процессе доказательства, без доступа к секретному свидетелю доказывающего.
Эта имитационная модель, представленная Голдвассером, Микали и Ракоффом в их основополагающей статье 1985 года, формализовала интуитивное представление о том, что доказательство «ничего не раскрывает», показав, что все, что проверяющий мог вычислить в процессе взаимодействия с доказательством, он также мог бы вычислить независимо, без какого-либо взаимодействия.
Три основных свойства — это полнота (честный доказывающий всегда может убедить честного проверяющего в истинности утверждения), корректность (ни один обманщик, доказывающий, не может убедить проверяющего в ложности утверждения, за исключением случаев с ничтожно малой вероятностью) и нулевое знание (проверяющий не узнает ничего, кроме истинности утверждения).
В блокчейн-приложениях доказательства с нулевым разглашением решают фундаментальную проблему противоречия между прозрачностью и конфиденциальностью, характерную для систем с публичными реестрами. Биткоин и Эфириум по своей природе делают все данные транзакций общедоступными, включая суммы, адреса и взаимодействие со смарт-контрактами, создавая постоянную, подлежащую аудиту запись, которая одновременно подвергает пользователей слежке, опережающему манипулированию и финансовому профилированию. Доказательства с нулевым разглашением решают эту проблему, позволяя пользователям и системам доказывать соответствие, корректность или владение без раскрытия базовых данных. Доказательство с нулевым разглашением может доказать действительность транзакции (входы равны выходам, нет двойной траты, у отправителя достаточно средств на балансе), не раскрывая, кто и сколько кому отправил.
Происхождение и история
1985: Шафи Голдвассер, Сильвио Микали и Чарльз Ракофф опубликовали статью «Сложность знаний в интерактивных системах доказательств», в которой вводят формальное определение доказательств с нулевым разглашением и закладывают теоретические основы этой области. Эта работа способствовала присуждению Голдвассеру и Микали премии Тьюринга в 2012 году за их работу в области криптографии.
1986: Одед Гольдрейх, Сильвио Микали и Ави Вигдерсон демонстрируют, что для каждой задачи в классе NP существует доказательство с нулевым разглашением, устанавливая исключительную общность нулевого разглашения: любое утверждение, которое может быть эффективно проверено, может быть также доказано с нулевым разглашением. В тот же период Амос Фиат и Ади Шамир публикуют эвристику Фиата-Шамира, преобразуя интерактивные доказательства в неинтерактивные путем замены запросов проверяющего результатами хэш-функции. Это преобразование стало стандартным методом развертывания ZKP в неинтерактивных средах, включая блокчейн.
1988: Мануэль Блюм, Пол Фельдман и Сильвио Микали представляют доказательства с нулевым разглашением (NIZK), использующие модель общей строки ссылок, что устраняет необходимость в обмене данными и закладывает основу для практического применения.
2012: Нир Битански, Ран Канетти, Алессандро Кьеза и Эран Тромер формализуют краткие неинтерактивные аргументы знания (SNARK), обеспечивая теоретическую основу для компактных доказательств, которые станут центральными элементами обеспечения конфиденциальности и масштабируемости блокчейна.
2013: Протокол «Пиноккио», разработанный Брайаном Парно, Джоном Хауэллом, Крейгом Джентри и Марианой Райковой в Microsoft Research, демонстрирует первую практическую конструкцию zk-SNARK, достаточно эффективную для реального применения, доказывая, что вычисления общего назначения, поддающиеся проверке, осуществимы.
2014: Проект Zcash (первоначально Zerocash) начинает разработку, что представляет собой первое крупное внедрение zk-SNARKs в криптовалюту. Церемония Zcash, координируемая компанией Electric Coin Company, генерирует первые доверенные параметры настройки, используемые в производственной среде, что позволяет осуществлять полностью защищенные (приватные) криптовалютные транзакции.
2016: Йенс Грот опубликовал систему доказательства Groth16, которая обеспечила наименьшие размеры доказательств и самое быстрое время проверки среди всех SNARK-систем на основе парных вычислений на тот момент. Groth16 стала одной из наиболее широко используемых SNARK-систем в производственных системах, применяемой Zcash, Tornado Cash и многими другими протоколами.
2018: Эли Бен-Сассон, Иддо Бентов, Инон Хореш и Майкл Рябзев опубликовали конструкцию zk-STARK, устраняющую требования к доверенной настройке и обеспечивающую постквантовую безопасность. Компания StarkWare Industries была основана для коммерциализации технологии STARK для масштабирования блокчейна.
2019: Ариэль Габизон, Закари Дж. Уильямсон и Оана Чиоботару опубликовали PLONK, представив универсальные и обновляемые структурированные эталонные строки. Благодаря пользовательским вентилям и аргументам перестановки, PLONK стал значительно более гибким, чем Groth16, для сложных схем, и быстро был принят на вооружение такими проектами, как Aztec, zkSync и Mina Protocol.
2020: Шон Боу, Джек Григг и Дайра Хопвуд из Electric Coin Company опубликовали конструкцию Halo, а затем и Halo 2, достигнув рекурсивного построения доказательств без доверенной настройки — прорыв, позволивший создавать доказательства, подтверждающие другие доказательства, что крайне важно для поэтапной проверки состояния блокчейна.
2021: zkSync (Matter Labs) и StarkNet (StarkWare) запускаются как сети второго уровня zk-rollup на Ethereum, использующие SNARK и STARK соответственно для объединения тысяч транзакций в единые доказательства, проверяемые смарт-контрактами Ethereum. Конкуренция между проектами zk-rollup усиливается, позиционируя ZKP как ведущую технологию масштабирования для Ethereum.
2022: Nova, разработанная Котапалли, Сетти и Циаллой, представляет схемы свертывания для эффективных инкрементальных проверяемых вычислений, что значительно снижает накладные расходы доказывающего органа в рекурсивных системах доказательств. Polygon приобретает проекты Hermez и Miden и объявляет о выпуске Polygon zkEVM, эквивалента виртуальной машины Ethereum на основе ZKP.
2023 - 2024: Экосистема zk-rollup продолжает развиваться. zkSync Era, StarkNet, Polygon zkEVM, Scroll, Linea и Taiko запускают основные или публичные тестовые сети zk-rollup. Генерация доказательств становится все более распараллеленной с использованием ускорения на GPU и FPGA. Агрегация доказательств и совместное доказательство становятся активными областями исследований, при этом проекты предлагают общие уровни верификации ZKP.
2025 - 2026: Доказательства с нулевым разглашением все глубже внедряются в основную инфраструктуру блокчейна. В планах исследований Ethereum продолжается внедрение основанных на доказательствах Веркла «доказательств Веркла» и связанных с ними методов управления состоянием, а также продолжается разработка межсетевых мостов ZKP в направлении большей надежности и совместимости между цепочками. Кроме того, в конце 2025 года Ethereum обновил свою систему Fusaka, внедрив в производство другую, но связанную с ней криптографическую технику масштабирования — выборку доступности данных (Data Availability Sampling) — для обработки больших двоичных объектов сети.
«Доказательства с нулевым разглашением — одна из самых недооцененных технологий как в блокчейн-пространстве, так и за его пределами. Они станут основополагающими в нашем понимании конфиденциальности и верификации в цифровом мире». Виталик Бутерин, соучредитель Ethereum, EthCC Paris, 2022.
Простыми словами
Аналогия с паролем: представьте, что вам нужно доказать веб-сайту, что вы знаете свой пароль, но вместо того, чтобы вводить его (что может быть перехвачено), вы решаете специальную математическую задачу, которую можно решить только зная пароль. Веб-сайт проверяет ваш ответ на задачу и подтверждает, что вы знаете пароль, не видя самого пароля. Именно это и делает доказательство с нулевым разглашением: оно доказывает, что вы что-то знаете, не показывая, что именно вы знаете.
Решение судоку: вы решили сложную головоломку судоку и хотите доказать правильность решения, не показывая его. Вы закрываете каждую строку, столбец и клетку 3х3 карточками, а затем позволяете проверяющему случайным образом выбрать любую строку, столбец или клетку для проверки. Он видит, что в них содержатся числа от 1 до 9 без повторений. После достаточного количества случайных проверок он убеждается в правильности всего решения, но он так и не увидел достаточно фрагментов решения, чтобы восстановить его.
Важно: Хотя доказательства с нулевым разглашением обеспечивают мощные возможности обеспечения конфиденциальности и проверки, они представляют собой сложные криптографические системы, требующие тщательной реализации. Ошибки в схемах ZKP (математическом описании проверяемого вычисления) могут создавать уязвимости в отношении корректности, при которых принимаются ложные доказательства. Безопасность многих систем ZKP зависит от криптографических предположений, таких как сложность дискретного логарифма или предположения о парном взаимодействии, которые в принципе могут быть взломаны достаточно развитыми квантовыми компьютерами. Пользователи, полагающиеся на конфиденциальность на основе ZKP, должны понимать, что гарантия конфиденциальности зависит от надежности базовой криптографической реализации, и что достижения в криптоанализе или квантовых вычислениях могут со временем повлиять на безопасность.
Основные технические характеристики
Математические основы: полиномиальные зависимости и арифметические схемы.
В основе современных систем доказательства с нулевым разглашением лежит представление вычислений в виде полиномиальных уравнений над конечными полями. Любое вычисление, включая проверку транзакции в блокчейне, выполнение смарт-контракта или проверку атрибута идентичности, может быть выражено в виде арифметической схемы: ориентированного ациклического графа вентилей сложения и умножения, работающих с элементами конечного поля (целыми числами по модулю простого числа).
Задача проверяющего состоит в том, чтобы продемонстрировать наличие присвоения значений («свидетельства») проводам схемы, обеспечивающего выполнение всех логических элементов, не раскрывая при этом само свидетельство.
Преобразование вычислительных уравнений в полиномиальные происходит посредством арифметизации. Доказывающий алгоритм кодирует значения проводов схемы в виде коэффициентов или точек вычисления полиномов, а ограничения схемы становятся проверками тождественности полиномов. Например, условие умножения a на b, равное c, становится полиномиальным ограничением, которое должно выполняться в определенных точках вычисления.
Если проверяющий может продемонстрировать, что эти полиномиальные тождества выполняются, оцениваемые в случайных контрольных точках, предоставленных проверяющим, или полученные с помощью эвристики Фиата-Шамира, проверяющий убежден в правильности выполнения вычислений.
Схемы с полиномиальными обязательствами — это механизм, с помощью которого доказывающий «обязается» подтвердить значение полинома, не раскрывая его, а затем «открывает» обязательство в определенных точках для доказательства результатов вычислений. Схема обязательств KZG (Кейт-Заверуха-Голдберг), основанная на сопоставлении эллиптических кривых, является одной из наиболее широко используемых: доказывающий вычисляет одну точку эллиптической кривой в качестве обязательства, а проверка требует всего лишь нескольких операций сопоставления независимо от степени полинома.
Именно эта лаконичность делает zk-SNARK такими компактными. Альтернативные схемы подтверждения включают FRI (Fast Reed-Solomon Interactive Oracle Proofs of Proximity), используемый в STARK, который основан на хеш-функциях, а не на парных связях, и обеспечивает прозрачность и постквантовую безопасность за счет увеличения размера доказательств.
Как работает доказательство zk-SNARK (пошаговая инструкция)
Сборка схемы: Доказываемое вычисление, например, «данная транзакция действительна», выражается в виде арифметической схемы — последовательности вентилей сложения и умножения над конечным полем. Специализированные предметно-ориентированные языки программирования, такие как Circom, Noir, Leo или Cairo, компилируют программы высокого уровня в эти схемы.
Поколение свидетелей: Доказывающий вычисляет полную схему, присваивая конкретные значения каждому проводу (входному, промежуточному и выходному). Свидетель включает в себя как общедоступные входные данные, видимые проверяющему, такие как хеш транзакции, так и закрытые входные данные, секретные, такие как баланс отправителя или закрытый ключ.
Арифметизация: Схема и свидетель преобразуются в набор полиномиальных уравнений с помощью специальной схемы арифметизации. В R1CS (система ограничений ранга 1, используемая Groth16) каждый вентиль становится определенным типом ограничения, включающим вектор свидетеля и векторы селекторов. В арифметизации типа PLONK вентили кодируются с помощью полиномов селекторов, аргументов перестановок и таблиц поиска.
Полиномиальное обязательство: Доказывающий кодирует подтверждение и удовлетворение ограничений в виде полиномов и подтверждает их выполнение, используя схему полиномиальных обязательств: KZG для SNARK или FRI для STARK. Эти обязательства представляют собой компактные криптографические объекты, такие как точки эллиптической кривой или корни Меркла, которые связывают доказывающего с конкретными полиномами, не раскрывая их.
Генерация вызовов: Случайные оценочные точки генерируются либо посредством взаимодействия с верификатором (интерактивный режим), либо с помощью эвристики Фиата-Шамира (неинтерактивный режим, в котором задачи вычисляются путем хеширования полученной на данный момент стенограммы доказательства).
Доказательство построения: Доказывающий вычисляет значения заданных многочленов в контрольных точках и предоставляет начальные доказательства, демонстрирующие, что эти вычисления согласуются с заданными условиями. Доказательство также включает фактор-многочлены, которые показывают, что многочленные тождества выполняются во всех точках ограничений.
Проверка: Верификатор проверяет доказательство, проверяя открытия полиномиальных комбинаций и убеждаясь в том, что полиномиальные тождества выполняются в случайных точках проверки. Для Groth16 это требует небольшого фиксированного числа пар эллиптических кривых; для PLONK — еще несколько проверок пар; для STARK — вычислений хеш-функций и проверки путей Меркла. Верификация, как правило, на порядки быстрее, чем повторное выполнение вычислений.
Groth16: Компактный стандарт доказательства
Стандарт Groth16, опубликованный Йенсом Гротом в 2016 году, остается одним из стандартов компактности доказательств. Доказательство Groth16 состоит ровно из трех элементов группы эллиптических кривых, общий размер которых составляет примерно от 128 до 192 байт в зависимости от кривой.
Для проверки требуется небольшое фиксированное количество операций сопряжения плюс несколько групповых умножений, что занимает примерно от 1 до 3 миллисекунд на современном оборудовании. Эта исключительная краткость делает Groth16 хорошо подходящим для проверки в блокчейне, где стоимость газа пропорциональна размеру доказательства и вычислительным затратам на проверку.
Компромисс заключается в том, что Groth16 требует специфической для каждой схемы доверенной настройки: каждая уникальная схема нуждается в собственной структурированной эталонной строке, сгенерированной в ходе многостороннего вычислительного процесса. Если все участники процесса вступают в сговор или их случайность скомпрометирована, полученные «токсичные отходы» в принципе могут быть использованы для подделки доказательств.
Церемония Zcash Powers of Tau и последующая церемония Hermez включали в себя множество участников, чтобы гарантировать, что хотя бы один честный участник сделает подделку практически невозможной. Несмотря на это, требование о доверительной настройке стимулировало поиск прозрачных альтернатив.
PLONK: Универсальная и обновляемая настройка
PLONK изменил ландшафт ZKP, представив универсальную структурированную эталонную строку: единую доверенную конфигурацию, которая работает для любой схемы до максимального размера. Это означает, что одна церемония, которую можно постоянно усиливать за счет дополнительных участников, служит всей экосистеме схем, устраняя необходимость в церемониях для каждой схемы отдельно.
В арифметической обработке PLONK используется система уравнений для логических элементов с полиномами селекторов, механизм ограничения копирования (аргумент большого произведения) для обеспечения соединений проводов, а также возможность определения пользовательских логических элементов для часто встречающихся шаблонов.
Размер доказательства в PLONK больше, чем в Groth16, примерно от 400 до 900 байт в зависимости от варианта, а проверка несколько медленнее, хотя в абсолютном выражении всё ещё быстрая. Универсальность и возможность обновления системы в сочетании с гибкостью пользовательских вентилей и таблиц поиска сделали её предпочтительной системой для сложных блокчейн-приложений. Варианты, включая версии с пользовательскими вентильами, таблицами поиска в стиле plookup и улучшенной пакетной обработкой, были развернуты в zkSync, Aztec, Polygon zkEVM и Scroll.
Halo 2: Рекурсивные доказательства без доверенной настройки
Halo 2, разработанная командой Zcash/Electric Coin Company, достигла цели, ранее считавшейся фундаментальной: эффективного рекурсивного составления доказательств без какой-либо предварительной настройки. Рекурсивное составление доказательств означает, что одно доказательство может проверять другое доказательство в рамках своей схемы, что позволяет создавать цепочку доказательств, где каждое доказательство подтверждает правильность предыдущего, сжимая произвольное количество вычислений в одно окончательное доказательство.
Техническое нововведение в Halo заключается в схеме накопления полиномиальных обязательств, основанной на аргументе скалярного произведения. Вместо полной проверки каждого обязательства, что потребовало бы парных проверок и, следовательно, надежной настройки, Halo «накапливает» проверки обязательств, откладывая дорогостоящую проверку на конец рекурсивной цепочки.
Отложенная проверка — вот что обеспечивает рекурсию без необходимости доверия. Halo 2 расширила это за счет арифметики и аргументов поиска, подобных PLONK, превратив систему в полноценную систему доказательства. Zcash адаптировала Halo 2 для своего защищенного пула Orchard, устранив требование о предварительной настройке, которое постоянно критиковалось с момента запуска Zcash.
Схемы Nova и Folding: эффективные инкрементальные вычисления
Nova, представленная в 2022 году, представляет собой значительный сдвиг в способе построения рекурсивных доказательств. Вместо полного доказательства каждого шага инкрементального вычисления и последующей рекурсивной проверки доказательства, Nova использует схему свертывания для «свертывания» двух экземпляров вычисления в один, сокращая работу доказывающего на каждом шаге с генерации полного доказательства до одного группового скалярного умножения. В результате система инкрементально проверяемых вычислений (IVC) имеет значительно меньшие затраты на доказывающего, чем традиционные рекурсивные SNARK для вычислений с множеством повторяющихся шагов, таких как последовательная обработка транзакций блокчейна.
zk-STARKs: Прозрачность и постквантовая безопасность
zk-STARKs достигают своей прозрачности (отсутствие доверенной настройки) и постквантовой безопасности за счет замены пар эллиптических кривых хеш-функциями и алгебраической теорией кодирования. Основной схемой подтверждения в STARKs является FRI, которая проверяет, близка ли функция к полиному низкой степени, путем многократного «свертывания» функции, уменьшения ее области определения вдвое с помощью случайных линейных комбинаций и проверки согласованности с помощью деревьев Меркла. Поскольку FRI опирается только на устойчивые к коллизиям хеш-функции, которые, как считается, противостоят квантовым атакам, STARKs наследуют постквантовую безопасность.
Виртуальные машины с нулевым разглашением информации (zkVM и zkEVM)
Главная цель технологии ZKP в блокчейне — создание виртуальной машины с нулевым разглашением: универсальной вычислительной среды, в которой выполнение любой программы может быть доказано с нулевым разглашением. Виртуальная машина Ethereum с нулевым разглашением (zkEVM) доказывает корректность выполнения смарт-контрактов Ethereum, обеспечивая возможность создания zk-роллов, полностью совместимых с EVM. Существуют различные подходы, различающиеся по степени совместимости:
Тип 1 (полностью эквивалентный Ethereum): Доказывает реальную среду выполнения Ethereum, включая попытки сохранения состояния и учет газа, что является амбициозной целью для многих проектов. Максимальная совместимость, но самые высокие затраты на проверку.
Тип 2 (полностью эквивалентный EVM): Подтверждает выполнение байт-кода EVM, но с модифицированным управлением состоянием, как в Scroll и Polygon zkEVM. Практически полная совместимость с незначительными отличиями.
Тип 3 (почти эквивалент EVM): Доказывает работоспособность большинства EVM-опкодов, но изменяет или удаляет некоторые, несовместимые с ZKP, например, некоторые прекомпиляции. Более быстрая проверка с незначительными пробелами в совместимости.
Тип 4 (эквивалент языка высокого уровня): Доказывает выполнение кода, скомпилированного из Solidity или Vyper в набор инструкций, совместимый с ZKP, а не напрямую байт-код EVM, как в случае с zkSync Era. Быстрое доказательство, но контракты необходимо перекомпилировать, и на уровне байт-кода они могут вести себя несколько иначе.
К числу универсальных виртуальных машин zkVM, помимо Ethereum, относятся RISC Zero (доказывающая выполнение инструкций RISC-V), SP1 (также на базе RISC-V) и Miden VM (виртуальная машина на базе STARK с пользовательским набором инструкций, оптимизированным для эффективности ZKP). Эти системы позволяют выполнять программы, написанные на Rust, C, Go или других языках, компилируемых в RISC-V, с криптографическим доказательством корректности.
Преимущества недостатки
Аспект
Преимущества
Недостаток
Сохранение конфиденциальности
Обеспечивает возможность проведения частных транзакций и вычислений в публичных блокчейнах; пользователи могут совершать транзакции, подтверждать свои идентификационные данные и взаимодействовать со смарт-контрактами, не раскрывая конфиденциальную информацию наблюдателям или валидаторам.
Функции обеспечения конфиденциальности могут быть использованы не по назначению для отмывания денег, обхода санкций и незаконного финансирования; санкции OFAC в отношении Tornado Cash в 2022 году продемонстрировали регуляторные риски, связанные с инструментами обеспечения конфиденциальности на основе ZKP.
Масштабируемость
zk-rollups сжимают тысячи транзакций в единое доказательство, проверяемое на уровне 1, при этом ведущие платформы обрабатывают тысячи транзакций в секунду, наследуя гарантии безопасности Ethereum.
Генерация доказательств — ресурсоемкий процесс; создание доказательства SNARK для сложной схемы может занять от нескольких минут до нескольких часов на потребительском оборудовании, что требует специализированной инфраструктуры, такой как кластеры графических процессоров или ускорители на базе FPGA, для производственных систем.
Модель безопасности
Математическая (криптографическая) безопасность, а не чисто экономическая; в отличие от оптимистичных роллапов, которые полагаются на доказательства мошенничества и периоды проверки, zk-роллапы обеспечивают гораздо более быструю окончательность, подкрепленную математической достоверностью.
Криптографические предположения, лежащие в основе SNARK, такие как проблема дискретного логарифма и различные предположения о парном взаимодействии, в принципе могут быть взломаны достаточно мощными квантовыми компьютерами, что потенциально может повлиять на доказательства, сгенерированные на основе этих предположений.
Устранение доверенной настройки
Современные системы, включая STARKs, Halo 2 и Nova, полностью исключили необходимость в доверенной настройке, устранив риск компрометации параметров церемонии и логистические сложности, связанные с проведением церемоний MPC.
Системы, которые по-прежнему требуют доверенных настроек, такие как Groth16, зависят от целостности церемонии; если все участники вступают в сговор или их случайность скомпрометирована, теоретически становится возможным подделка доказательств без обнаружения.
Эффективность проверки
Проверка в блокчейне быстрая и сравнительно недорогая; доказательство Groth16 обычно стоит от 200 000 до 300 000 газа в сети Ethereum, независимо от сложности вычислений, результаты которых доказываются.
Разработка схем — сложная задача; для создания корректных схем на основе алгоритма ZKP требуются глубокие знания в области арифметики конечных полей, систем ограничений и криптографической инженерии, а ошибки в схемах могут быть как незаметными, так и серьезными.
компонуемости
Системы на основе ZKP, как правило, совместимы с существующей инфраструктурой блокчейна; zk-rollup-расчеты выполняются на существующих цепочках первого уровня, системы идентификации ZKP интегрируются с существующими протоколами DeFi, а мосты ZKP соединяют существующие цепочки.
Экосистема ZKP остается довольно фрагментированной; различные системы доказательства, арифметизации и типы zkVM создают проблемы совместимости.
Сжатие данных
Доказательства действительности позволяют публиковать в блокчейне не полные данные транзакций, а различия в состоянии, что снижает затраты на данные уровня 1 по сравнению с оптимистичными роллапами, которые должны публиковать полные данные о вызовах транзакций.
Размеры доказательств значительно варьируются; например, доказательства STARK могут составлять от десятков до сотен килобайт, что, хотя и меньше, чем объем заменяемых ими необработанных данных транзакций, все же представляет собой существенные затраты в блокчейне, которые масштабируются в зависимости от сложности доказательства.
Межцепочечная проверка
ZKP-протоколы позволяют создавать более надежные межсетевые мосты, подтверждая состояние одной цепочки контракту-верификатору в другой цепочке, что снижает зависимость от доверенных операторов мостов или комитетов по мультиподписи.
Для межцепочечной проверки ZKP требуются облегченные клиентские схемы для каждой исходной цепочки, которые сложно создавать, поддерживать и проверять, поскольку механизм консенсуса и структура состояний каждой цепочки должны быть закодированы как схема ZKP.
Соответствие нормативным требованиям
Платежи ZKP позволяют обеспечить «соответствие нормативным требованиям на этапе проектирования», давая пользователям возможность подтвердить соответствие требованиям, например, статус KYC или юрисдикцию, не находящуюся под санкциями, без раскрытия персональных данных, что удовлетворяет как целям защиты конфиденциальности, так и целям регулирования.
Сохраняется неопределенность в отношении нормативных требований, касающихся инструментов обеспечения конфиденциальности ZKP; прецедент Tornado Cash оказал сдерживающее воздействие, а регулирующие органы в ряде юрисдикций продолжают разрабатывать механизмы, которые могут ограничивать или требовать дополнительного раскрытия информации в системах, обеспечивающих конфиденциальность.
Управление рисками
Требования к надежности и проверке цепей связи: Наиболее критический риск в системах ZKP — это ненадежность схемы, то есть возможность того, что ошибка в арифметической схеме позволит доказывающему сгенерировать доказательство, выглядящее корректным, для ложного утверждения. В отличие от ошибок в смарт-контрактах, где код общедоступн и имеет привычную форму, ошибки в схемах ZKP могут быть чрезвычайно незаметными, поскольку часто связаны с недостаточной спецификацией ограничений: схема может не учитывать ограничение значения, передаваемого по сети, позволяя доказывающему вставлять произвольные значения, удовлетворяющие доказательству, но соответствующие недействительным транзакциям. Исследователи, в том числе группы, занимающиеся вопросами конфиденциальности и масштабируемости Ethereum, задокументировали множество классов уязвимостей схем, включая отсутствие ограничений, некорректные проверки диапазона и арифметическое переполнение в операциях с конечным полем. Пользователи должны взаимодействовать только с системами ZKP, схемы которых были проверены специализированными аудиторскими фирмами ZKP и, в идеале, прошли формальную верификацию.
Риски и способы их минимизации при использовании доверенной конфигурации: Для систем, использующих доверенные настройки, таких как Groth16 или оригинальный PLONK, целостность церемонии настройки является единственной точкой отказа. Если «токсичные отходы», секретная случайность, используемая во время церемонии, поддаются восстановлению, злоумышленник в принципе может подделать доказательства, создавая токены из ничего, тратя средства, которыми он не владеет, или генерируя ложные доказательства личности. Стратегии смягчения последствий включают многосторонние вычислительные церемонии с большим количеством участников (где для безопасности достаточно только одного честного участника), постоянные церемонии «сил тау», которые постоянно усиливают настройку, и переход к прозрачным системам, таким как STARK или Halo 2, которые полностью исключают настройку. Пользователи должны убедиться, что любая система, основанная на доверенной настройке, с которой они взаимодействуют, провела достаточно масштабную и хорошо документированную церемонию.
Уязвимости реализации: Даже если математическая система доказательств надежна, ошибки реализации в доказывающем, проверяющем или окружающей инфраструктуре могут создавать уязвимости, которые можно использовать. К числу известных инцидентов относится задокументированная ошибка инфляции в Zcash, когда недостаток в проверке схемы мог бы позволить незаметное создание токенов, если бы его обнаружил злоумышленник первым, а также различные ошибки, обнаруженные в реализациях схем в рамках программ вознаграждения за обнаружение ошибок за прошедшие годы. Сложность реализаций ZKP, включающая арифметику конечных полей, операции с эллиптическими кривыми, вычисление полиномов и хеш-функции, создает большую поверхность атаки. Стратегии защиты включают формальную верификацию критически важных схем, обширное фаззинг-тестирование и тестирование на основе свойств, множество независимых реализаций для верификации критически важных схем на основе консенсуса, а также консервативное развертывание с постепенным внедрением.
Угрозы квантовых вычислений: Системы SNARK, основанные на парном взаимодействии, включая Groth16 и PLONK с обязательствами KZG, опираются на сложность задачи дискретного логарифма на эллиптических кривых, которая эффективно решается алгоритмом Шора на достаточно большом квантовом компьютере. Хотя современные квантовые компьютеры далеки от масштабов, необходимых для этого, часто цитируемые оценки показывают, что для взлома 256-битных эллиптических кривых потребуются тысячи логических кубитов, что при нынешних уровнях ошибок означает гораздо большее количество физических кубитов, поэтому долгосрочный риск воспринимается в этой области серьезно. Системы STARK и схемы обязательств на основе хеширования считаются квантово-устойчивыми, а продолжающийся переход к системам доказательств на основе STARK и решеток обеспечивает путь миграции. Пользователи, владеющие активами, защищенными ZKP на основе парного взаимодействия, должны следить за прогрессом в квантовых вычислениях и быть готовыми к переходу на постквантовые альтернативы, если и когда это станет необходимым.
Ограничения конфиденциальности и утечка метаданных: ZKP-протоколы защищают содержимое вычислений, но по своей сути не защищают метаданные. Проверка ZKP в блокчейне показывает, что доказательство было предоставлено, включая время выполнения, взаимодействовавший смарт-контракт, оплаченный газ и позицию транзакции в блоке. Для приложений, ориентированных на конфиденциальность, таких как защищенные транзакции или подтверждение личности, эти метаданные могут привести к утечке значительной информации. Размер набора анонимности имеет решающее значение: если защищенный пул используется лишь небольшим числом пользователей, анализ графа транзакций потенциально может деанонимизировать пользователей, несмотря на лежащую в основе криптографическую конфиденциальность. Пользователям следует рассмотреть возможность использования инструментов обеспечения конфиденциальности ZKP с большими наборами анонимности, обфускацией времени и релейными сетями, минимизирующими метаданные.
Культурная значимость
Доказательства с нулевым разглашением (ZK-Proofs) вышли за рамки своего первоначального происхождения как чисто теоретической конструкции в теории сложности и стали одной из наиболее значимых в культурном плане технологий в экосистеме блокчейна. Термин «ZK» вошел в обиход криптосообщества: «ZK-rollup», «ZK-proof», «ZK-EVM» и «ZK-bridge» стали повседневной лексикой в сообществах разработчиков Ethereum, а «ZK» превратилось в префикс, обозначающий технологическую сложность и криптографическую строгость. В период с 2021 по 2024 год наблюдалась «золотая лихорадка ZK», когда многие проекты добавили «ZK» к своим названиям, что привело к дискуссиям в сообществе о «ZK-отмывании» — практике заявления о свойствах ZK без фактической реализации доказательств с нулевым разглашением.
Культурное значение доказательств с нулевым разглашением (ZKP) в криптосообществе выходит за рамки технологий и затрагивает философию. Движение киберпанков, сформулированное в манифесте Эрика Хьюза 1993 года, утверждающем, что конфиденциальность необходима для открытого общества в электронную эпоху, находит одно из своих наиболее мощных технических воплощений в доказательствах с нулевым разглашением. ZKP реализуют большую часть стремления киберпанков к доказуемой конфиденциальности: возможность полноценного участия в цифровых системах без отказа от информационной автономии. Эта философская ориентация сделала исследователей и разработчиков ZKP влиятельными фигурами в криптосообществе, включая таких людей, как Эли Бен-Сассон (StarkWare), Виталик Бутерин (активно продвигавший ZKP), Барри Уайтхэт (связанный с протоколом Semaphore и проектом Privacy and Scaling Explorations), а также членов команды Zcash, таких как Зуко Уилкокс, Шон Боу и Дайра Хопвуд.
Концепция «от зимы ZK к лету ZK», в которой годы преимущественно теоретических исследований примерно с 2016 по 2020 год сменились взрывным ростом практического применения с 2021 года, стала своего рода образцом того, как криптосообщество понимает созревание технологий. Мнение о том, что «ZKP помогут решить проблему масштабирования Ethereum», стало одной из наиболее устойчивых позиций в сообществе Ethereum, при этом Виталик Бутерин утверждал, что zk-роллапы, скорее всего, одержат верх над оптимистичными роллапами в долгосрочной перспективе. Эта убежденность привела к значительному венчурному финансированию проектов ZKP, привлекла исследователей криптографии из академических кругов в криптостартапы и утвердила экспертизу в области ZKP как одну из наиболее ценных специализаций в блокчейн-инженерии.
В академическом криптографическом сообществе спрос блокчейн-индустрии на практические системы доказательств с нулевым коэффициентом правдоподобия (ZKP) создал заметную обратную связь: финансирование со стороны отрасли поддерживает академические исследования, которые приводят к созданию новых систем доказательств, которые быстро внедряются в стартапы, генерирующие доход, который финансирует дальнейшие исследования. Конференции и семинары, посвященные исследованиям ZKP, стали важными площадками для сотрудничества академических криптографов и блокчейн-инженеров, а темпы инноваций, от Groth16 до PLONK, Halo 2 и Nova примерно за семь лет, отражают интенсивность этого сотрудничества.
Санкции в отношении Tornado Cash, введенные в августе 2022 года, когда Управление по контролю за иностранными активами Министерства финансов США включило смарт-контракты Tornado Cash в свой санкционный список, стали определяющим культурным моментом для сообщества ZKP. Санкции фактически криминализировали взаимодействие с инструментом обеспечения конфиденциальности с открытым исходным кодом, вызвав дебаты о легитимности конфиденциальности в блокчейне, классификации кода как речи и противоречии между финансовым наблюдением и правами на частную жизнь отдельных лиц. Последующее преследование разработчика Tornado Cash в Нидерландах усилило эти дебаты и сплотило часть сообщества ZKP вокруг принципа, что конфиденциальность сама по себе не является преступлением. Этот инцидент повлиял на философию проектирования последующих проектов ZKP, направленных на обеспечение конфиденциальности, которые все чаще включают в себя механизмы выборочного соответствия, такие как подтверждение отсутствия в санкционном списке, наряду с обеспечением конфиденциальности транзакций.
Сценарий: Биткоин и другие ранние криптовалюты работают на основе полностью прозрачных реестров, где все суммы транзакций, адреса отправителей и получателей общедоступны. Защитникам финансовой конфиденциальности и институциональным пользователям была необходима криптовалюта, в которой транзакции можно было бы криптографически подтвердить как действительные, не раскрывая при этом никаких подробностей транзакций общественности.
Реализация: Zcash внедрила zk-SNARKs, первоначально используя схему Sprout, позже обновив её до Sapling с Groth16, а совсем недавно — до Orchard с Halo 2, чтобы обеспечить «защищенные» транзакции. В защищенной транзакции отправитель, получатель и сумма шифруются в блокчейне. Доказательство zk-SNARK, прикрепленное к транзакции, подтверждает, что отправитель обладает закрытым ключом для входных данных, что входные данные существуют в дереве обязательств и не были потрачены, что сумма входных данных равна сумме выходных данных плюс комиссия, и что двойного расходования не произошло, — и всё это без раскрытия каких-либо из этих значений. Обновление до Sapling существенно сократило время генерации доказательств по сравнению со Sprout, а Halo 2 (Orchard) полностью исключило требование о доверительной настройке.
Результат: Протокол Zcash продемонстрировал жизнеспособность ZKP-протоколов для обеспечения конфиденциальности криптовалют, обработав большое количество защищенных транзакций с момента своего запуска в 2016 году. Церемонии Zcash стали широко используемыми моделями для лучших практик создания доверенных систем. Хотя исторически внедрение защищенных транзакций составляло лишь небольшую часть от общего числа транзакций Zcash из-за вычислительных издержек и предпочтений бирж в отношении прозрачных адресов, протокол доказал, что криптографическая конфиденциальность в масштабе технически достижима и заложил основу для многих последующих реализаций ZKP-протоколов в блокчейне.
Эра zkSync: масштабирование Ethereum с помощью роллапов с нулевым разглашением.
Сценарий: Пропускная способность первого уровня Ethereum и стоимость газа в периоды высокого спроса делали сеть непрактичной для многих повседневных задач, включая микроплатежи, игровые транзакции и высокочастотные взаимодействия в сфере DeFi. Трилемма блокчейна, противоречие между масштабируемостью, безопасностью и децентрализацией, требовала решения, которое могло бы увеличить пропускную способность без ущерба для гарантий безопасности Ethereum.
Реализация: zkSync Era, разработанный Matter Labs, запустил zkEVM-роллап типа 4, который компилирует смарт-контракты Solidity и Vyper в собственный набор инструкций, совместимый с ZKP, и генерирует доказательства SNARK, подтверждающие корректное выполнение пакетов транзакций. Тысячи транзакций выполняются вне блокчейна, вычисляется разница состояний, и доказательство SNARK корректного выполнения отправляется в смарт-контракт Ethereum, который проверяет доказательство и применяет разницу состояний, наследуя безопасность Ethereum для всего пакета.
Результат: В первые годы работы основной сети zkSync Era обработала очень большое количество транзакций, обеспечив пропускную способность и снижение затрат, значительно превосходящие показатели Ethereum L1. Система продемонстрировала, что масштабирование на основе ZKP может поддерживать сложные приложения DeFi и NFT, сохраняя при этом безопасность на уровне Ethereum. Запуск помог стимулировать конкуренцию между проектами zk-rollup и утвердил ZKP в качестве основной технологии в долгосрочной дорожной карте масштабирования Ethereum.
Worldcoin: Биометрическое подтверждение личности
Сценарий: Атаки Сибиллы, создание множества поддельных личностей, подрывают механизмы демократического управления, справедливое распределение токенов и предложения о всеобщем базовом доходе в экосистеме Web3. Традиционная проверка личности требует раскрытия личной информации, в то время как псевдонимные адреса блокчейна позволяют создавать практически неограниченное количество личностей. Необходимо было решение, которое могло бы подтвердить уникальность личности, не нарушая при этом конфиденциальность личных данных.
Реализация: Компания Worldcoin разработала систему World ID, которая использует сканирование радужной оболочки глаза с помощью специального аппаратного устройства под названием Orb для создания уникального биометрического идентификатора для каждого человека. Затем генерируется доказательство с нулевым разглашением (Zero-Knowledge Proof, ZKP) с использованием протокола Semaphore на основе Groth16, которое доказывает, что «этот человек является уникальным зарегистрированным человеком», не раскрывая, с помощью какого именно сканирования радужной оболочки глаза он зарегистрировался. ZKP предназначено для того, чтобы гарантировать невозможность регистрации одного и того же человека дважды, предотвращая атаки Сибиллы, и одновременно гарантируя, что ни один верификатор не сможет связать доказательство с конкретным биометрическим шаблоном.
Результат: В последующие годы после запуска Worldcoin зарегистрировал миллионы подтвержденных уникальных пользователей, создав одну из крупнейших в мире систем идентификации на основе ZKP. Проект продемонстрировал, что ZKP могут объединить биометрическую идентификацию и конфиденциальность блокчейна, хотя он также вызвал значительные дебаты о сборе биометрических данных, согласии в развивающихся странах и рисках централизации в системах идентификации, зависящих от оборудования. Несколько протоколов управления и аирдропов интегрировали проверку World ID, утвердив подтверждение личности как важный вариант использования ZKP, выходящий за рамки финансовой конфиденциальности.
Polygon zkEVM: Эквивалентность EVM типа 2 с доказательствами с нулевым разглашением
Сценарий: Разработчикам Ethereum требовалось решение для масштабирования, полностью совместимое с существующими смарт-контрактами Ethereum, позволяющее развертывать один и тот же байт-код Solidity без перекомпиляции или модификации, обеспечивая при этом гарантии безопасности, обеспечиваемые доказательствами действительности, а не задержкой окончательности, характерной для оптимистичных ролл-апов. Достижение эквивалентности EVM на уровне байтов с проверкой ZKP считалось одной из самых сложных технических задач в разработке блокчейна.
Реализация: Компания Polygon zkEVM разработала zkEVM типа 2, доказывающий корректность выполнения фактического байт-кода EVM с помощью собственной системы доказательств, объединяющей элементы SNARK и STARK. Система использует подход многополиномиальной фиксации, где различные аспекты выполнения EVM доказываются отдельными специализированными схемами, а рекурсивное агрегированное доказательство объединяет их в единую проверку в блокчейне.
Результат: Polygon zkEVM был запущен в основной сети Ethereum в марте 2023 года, став одним из первых работающих в производственной среде zkEVM типа 2. Система продемонстрировала, что почти идеальная эквивалентность EVM достижима с помощью доказательства ZKP, при этом подавляющее большинство смарт-контрактов Ethereum можно было развернуть без изменений. На Polygon zkEVM было развернуто несколько протоколов DeFi, а время генерации доказательства существенно сократилось благодаря последовательным обновлениям протокола, что подтвердило эффективность подхода zkEVM типа 2 и повлияло на разработку конкурирующих реализаций.
Сравнительная таблица
Характеристика
zk-SNARKs (Groth16/PLONK)
zk-STARK
Оптимистичные Своды
Надежные среды выполнения (TEE)
Размер пробы
Очень маленький размер: Groth16 примерно от 128 до 192 байт, PLONK примерно от 400 до 900 байт; минимальный объем данных в блокчейне.
Большой размер: обычно от десятков до нескольких сотен килобайт на одно подтверждение; тем не менее, это значительно меньше, чем объем исходных данных транзакций, которые оно заменяет.
Подтверждение действительности не требуется; полные данные транзакции публикуются в блокчейне в виде calldata.
Криптографическое доказательство отсутствует; подтверждения, полученные с помощью аппаратного обеспечения, дают сравнительно более слабые гарантии.
Время проверки
Чрезвычайно быстрое время, обычно составляющее несколько миллисекунд; примерно постоянное независимо от размера вычислений.
Умеренная производительность, масштабируемая в зависимости от размера вычислительных ресурсов благодаря верификации FRI, хотя в целом остается высокой.
Мгновенная проверка не требуется; для подтверждения мошенничества предусмотрен многодневный период проверки, что задерживает вывод средств.
Для работы Groth16 требуется специальная процедура настройки схемы; PLONK использует универсальную, обновляемую конфигурацию; обе системы несут в себе некоторый риск попадания токсичных отходов в систему.
Не требует никаких дополнительных условий (прозрачно); полагается только на хеш-функции и общедоступную случайность.
Никаких дополнительных требований не требуется; безопасность основана на экономических стимулах посредством игры, предотвращающей мошенничество.
Доверяет производителю оборудования; несет риски, связанные с цепочкой поставок и атаками по побочным каналам.
Квантовое сопротивление
Нет; схемы, основанные на парном взаимодействии, могут быть взломаны алгоритмом Шора, что потребует перехода к постквантовым альтернативам.
Да; обязательства, основанные на хешировании, устойчивы к известным квантовым атакам.
Не применимо напрямую; зависит от собственного квантового сопротивления базовой цепи.
Нет; аппаратные модули безопасности могут быть скомпрометированы атаками по побочным каналам с использованием квантовых технологий.
Стоимость проверки
Высокий уровень; требует БПФ и умножения на скаляры по эллиптическим кривым.
Очень высокая производительность для небольших вычислений, но более эффективна для очень больших схем.
Низкий уровень; не требуется генерация подтверждения, поскольку секвенсор только выполняет и группирует транзакции.
Низкий уровень производительности; вычисления выполняются в аппаратном анклаве с производительностью, близкой к нативной, без генерации криптографических доказательств.
Возможность обеспечения конфиденциальности
Полное отсутствие информации; доказательства ничего не говорят о свидетеле.
Полное раскрытие информации при настройке в качестве ZK-STARK; аналогичные возможности обеспечения конфиденциальности, как у SNARK.
Отсутствие присущей системе конфиденциальности; все данные о транзакциях публикуются в открытом доступе в виде данных о вызовах на уровне 1.
Частично; данные шифруются во время вычислений, но доверие оказывается производителю оборудования, а не математическим расчетам.
окончательность
Сразу после подтверждения в блокчейне.
Мгновенное подтверждение, аналогичное SNARK, поскольку проверка доказательства в блокчейне обеспечивает мгновенную математическую завершенность.
Процесс вывода средств обычно задерживается примерно на неделю, хотя промежуточные счета могут обеспечить более быстрый вывод средств, но с дополнительным риском потери ликвидности.
Мгновенный, но менее надежный; аттестация проверяется мгновенно, но безопасность зависит от предположений об аппаратном обеспечении, а не от криптографических доказательств.
Связанные условия
zk-SNARK (Краткий неинтерактивный аргумент знания с нулевым разглашением): Семейство систем доказательств, создающих чрезвычайно компактные доказательства с быстрой проверкой, используемых в Zcash, Tornado Cash и большинстве zk-rollup; отличается лаконичностью, но исторически требовало доверенных настроек.
zk-STARK (Масштабируемый прозрачный аргумент знания с нулевым разглашением): Семейство систем доказательств, использующих хеш-основанные обязательства (FRI) для достижения прозрачности и постквантовой безопасности за счет увеличения размеров доказательств; разработано Эли Бен-Сассоном и внедрено компанией StarkWare.
zk-Rollup: A Уровень 2 Решение для масштабирования, которое выполняет транзакции вне блокчейна и отправляет подтверждения действительности (SNARK или STARK) на первый уровень, наследуя безопасность базового уровня, но при этом достигая гораздо более высокой пропускной способности и более низких затрат.
Арифметическая схема: Математическое представление вычислений в виде ориентированного ациклического графа вентилей сложения и умножения над конечным полем; фундаментальная структура, которую системы ZKP доказывают в утверждениях о
Доверенная настройка: Одноразовая криптографическая церемония, генерирующая общедоступные параметры, необходимые для некоторых систем SNARK; компрометация секретной случайности церемонии позволяет подделать доказательство.
Схема полиномиальных обязательств: Криптографический примитив, позволяющий доказывающему определить полином и впоследствии доказать значения в определенных точках; KZG (на основе пар) и FRI (на основе хеширования) — две из доминирующих схем, лежащих в основе современных ZKP.
Эвристика Фиата-Шамира: Метод преобразования интерактивных протоколов доказательства в неинтерактивные путем замены случайных запросов проверяющего на выходные данные хеш-функции, позволяющий проверять протоколы ZKP без взаимодействия в реальном времени.
Рекурсивная композиция доказательств: Техника создания доказательства, которое подтверждает другое доказательство в своей цепи, позволяющая создавать цепочки доказательств, сжимающие произвольные объемы вычислений; достигнута без доверенной настройки в Halo 2 и с минимальными затратами благодаря схемам свертывания Nova.
R1CS (Система ограничений ранга 1): Формат арифметизации, представляющий ограничения схемы в виде квадратных уравнений первого ранга над векторами; используется программами Groth16, Marlin и Nova.
Арифметизация в стиле PLONK: Формат системы ограничений, используемый PLONK и его вариантами, включает полиномы-селекторы, пользовательские логические элементы, аргументы перестановок и таблицы поиска для гибкого проектирования схем.
Каир (язык программирования): Язык программирования, предназначенный для написания доказуемых программ, используемый StarkNet для компиляции смарт-контрактов в представление, которое можно доказать с помощью STARKs.
Цирком: Предметно-ориентированный язык для определения арифметических схем, широко используемый в экосистеме Ethereum ZKP для написания схем, компилируемых в соответствии с ограничениями R1CS для доказывающих алгоритмов Groth16 и PLONK.
FAQ
В: В чём разница между zk-SNARK и zk-STARK? Два основных различия заключаются в доверительной настройке и лежащих в основе криптографических предположениях. zk-SNARK, в частности, основанные на парном взаимодействии, такие как Groth16 и PLONK с KZG, требуют процедуры доверительной настройки и опираются на предположения об эллиптических кривых, которые уязвимы для квантовых компьютеров. Они создают очень небольшие доказательства с быстрой проверкой. zk-STARK не требуют доверительной настройки и опираются на хеш-функции, которые считаются устойчивыми к квантовым атакам. Они создают более крупные доказательства с более медленной, хотя и все еще быстрой, проверкой. На практике выбор между SNARK и STARK предполагает компромисс между размером доказательства (стоимостью в блокчейне), производительностью доказывающего, устойчивостью к квантовым атакам и предположениями о доверии. Многие современные системы используют гибридные подходы, например, генерируют доказательство STARK, а затем оборачивают его в SNARK для более дешевой проверки в блокчейне.
В: Каким образом доказательства с нулевым разглашением обеспечивают масштабируемость блокчейна? ZKP-доказательства позволяют масштабировать систему за счет ZK-роллапов. Оператор роллапа выполняет тысячи транзакций вне блокчейна, вычисляет результирующие изменения состояния и генерирует ZKP-доказательство, подтверждающее корректность выполнения всех транзакций. Это единственное доказательство размещается в блокчейне первого уровня вместе с разницей состояний. Смарт-контракт первого уровня проверяет доказательство, что требует примерно одинакового объема вычислений независимо от количества транзакций в пакете, и применяет изменения состояния. Это означает, что первому уровню нужно проверить только одно доказательство вместо повторного выполнения тысяч транзакций, что обеспечивает значительное повышение пропускной способности при сохранении гарантий безопасности базового уровня.
В: Что такое доверенная настройка, и почему она вызывает споры? Доверенная настройка — это одноразовая церемония, в ходе которой генерируются криптографические параметры, называемые структурированной ссылочной строкой, необходимые для некоторых систем доказательств SNARK. Во время церемонии для вычисления параметров используются случайные секретные значения, иногда называемые «токсичными отходами». Если кто-либо сможет восстановить эти секретные значения, он в принципе сможет подделать доказательства, создавая фальшивые транзакции, выпуская токены из ничего или генерируя ложные доказательства личности, и все это будет принято проверяющим как действительное. Опасение связано с тем, что безопасность основана на безвозвратном уничтожении этих секретов. Многосторонние вычислительные церемонии смягчают это, привлекая множество участников для генерации случайных чисел, поскольку для обеспечения безопасности достаточно одного честного участника. Однако доверенная настройка остается философской проблемой для систем, стремящихся к полной децентрализации, поэтому новые системы, такие как STARK и Halo 2, полностью её исключают.
В: Можно ли использовать доказательства с нулевым разглашением для проверки личности без раскрытия персональных данных? Да, это одно из наиболее мощных приложений. Используя системы идентификации на основе ZKP, вы можете подтвердить определенные характеристики себя, не раскрывая исходные данные. Например, вы можете подтвердить, что вам больше 18 лет, не раскрывая дату рождения, подтвердить прохождение процедуры KYC, не раскрывая своего имени или номера паспорта, подтвердить отсутствие в санкционном списке, не раскрывая свою личность, или подтвердить, что вы являетесь аккредитованным инвестором, не раскрывая свой чистый капитал. Протокол или сервис DeFi получает криптографическое подтверждение истинности утверждения и может проверить его в блокчейне, но никогда не узнает исходные персональные данные. Это позволяет одновременно соблюдать нормативные требования и обеспечивать конфиденциальность.
В: Что такое рекурсивная композиция доказательств и почему это важно? Рекурсивная композиция доказательств — это способность ZKP проверять другие ZKP в своей цепи, по сути, доказательство, проверяющее другое доказательство. Это создает цепочку, где каждое доказательство подтверждает правильность всех предыдущих доказательств, сжимая произвольный объем вычислений в одно окончательное доказательство постоянного размера. Для блокчейнов это важно: вместо проверки нового доказательства для каждой партии транзакций, рекурсивная система может генерировать доказательство, которое говорит о том, что предыдущее доказательство было действительным, и что новая партия транзакций также верна, накапливая историю цепочки в одно доказательство. Некоторые протоколы используют этот подход для поддержания блокчейна приблизительно постоянного размера независимо от длины цепочки. Схемы свертывания Nova значительно удешевляют эту рекурсию, «сворачивая» вычислительные экземпляры вместо генерации полных доказательств на каждом шаге.
В: Сколько стоит проверка доказательства с нулевым разглашением (Zero-Knowledge Proof) в сети Ethereum? Стоимость проверки в блокчейне варьируется в зависимости от системы доказательств. Проверка доказательства Groth16 обычно стоит несколько сотен тысяч газа в сети Ethereum. Проверка PLONK, как правило, стоит несколько дороже. Проверка STARK обычно дороже из-за большего размера доказательства, поэтому многие системы на основе STARK оборачивают свои доказательства в финальный SNARK для более дешевой проверки в блокчейне. В контексте zk-rollup эта стоимость проверки амортизируется по всем транзакциям в пакете, поэтому эффективная стоимость проверки на транзакцию может быть очень мала, когда пакеты содержат тысячи транзакций. Транзакции EIP-4844 в блокчейне Ethereum и последующее увеличение емкости блокчейна в эпоху Фусаки еще больше снизили стоимость публикации различий в состоянии, сопровождающих эти доказательства.
В: Действительно ли доказательства с нулевым разглашением на практике являются доказательствами с «нулевым разглашением»? Математическое свойство нулевого знания гарантирует, что доказательство не раскрывает ничего о секретном свидетеле, кроме истинности доказанного утверждения. Однако на практике утечка информации может происходить из-за нескольких факторов. Сам факт предоставления доказательства является общедоступными метаданными; наблюдатель знает, что кто-то совершил транзакцию в определенное время. Размер анонимного множества имеет значение, поскольку, если экранированный пул используется лишь небольшим числом людей, анализ графа транзакций может сузить круг участников. Атаки по побочным каналам на генерацию доказательства, такие как анализ времени или энергопотребления, могут привести к утечке информации о свидетеле. Общедоступные входные данные доказательства, которые по своей природе видимы, могут раскрыть больше, чем предполагалось, если схема не спроектирована должным образом. Для обеспечения максимальной конфиденциальности системы на основе ZKP следует сочетать с большими анонимными множествами, обфускацией времени и тщательной схемотехникой, которая минимизирует общедоступные входные данные.
Генеральный директор Robinhood Влад Тенев считает, что следующий этап развития криптовалютной индустрии будет определяться токенизированными реальными активами.