Применение и развитие технологии zk-SNARKs в области Блокчейн
Резюме
zk-SNARKs(ZKP)технология считается одним из самых важных нововведений в области Блокчейн и является ключевым направлением внимания венчурного капитала. В данной статье подробно рассмотрены развитие ZKP за последние сорок лет и последние достижения в исследованиях.
Сначала были представлены основные концепции и исторический фон ZKP, с акцентом на анализ технологий ZKP на основе схем, включая проектирование, применение и оптимизацию моделей, таких как zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs и Ligero. В области вычислительных сред обсуждалось, как ZKVM и ZKEVM могут повысить производительность обработки транзакций, защитить конфиденциальность и увеличить эффективность проверки. В статье также рассматривается механизм работы и методы оптимизации ZK Rollup в качестве решения расширения уровня 2, а также последние достижения в области аппаратного ускорения, гибридных решений и специализированных ZK EVM.
В заключение, статья рассматривает такие новые концепции, как ZKCoprocessor, ZKML, ZKThreads, ZK Sharding и ZK StateChannels, а также обсуждает их потенциал в области масштабируемости Блокчейн, интероперабельности и защиты конфиденциальности.
Анализируя эти технологии и тенденции, данная статья предоставляет всесторонний взгляд на понимание и применение ZKP технологий, демонстрируя их огромный потенциал в повышении эффективности и безопасности Блокчейн систем, что является важной отправной точкой для будущих инвестиционных решений.
Содержание
Введение
Одно. Основы zk-SNARKs
Обзор
Пример zk-SNARKs
Два, неинтерактивные zk-SNARKs
Фон
Появление NIZK
Преобразование Фиата-Шамира
Йенс Грот и его исследования
Другие исследования
Три. Непосредственные zk-SNARKs на основе схемы
Фон
Основные концепции и характеристики моделей цепей
Проектирование и применение цепей в zk-SNARKs
Потенциальные недостатки и вызовы
Четыре, модель zk-SNARKs
Фон
Распространенные алгоритмические модели
Решение на основе линейного PCP и задачи дискретного логарифма
Решение, основанное на доказательствах обычных людей
Вероятностное доказательство, проверяемое на основе (PCP), zk-SNARKs
Классификация на этапе настройки общего доказательства на основе CPC( )
Пункт пять: Обзор и развитие нулевых знаний виртуальной машины
Фон
Существующая классификация ZKVM
Парадигмы фронтенда и бэкенда
Преимущества и недостатки парадигмы ZKVM
Шесть, обзор и развитие zk-SNARKs Ethereum Virtual Machine
Фон
Принцип работы ZKEVM
Процесс реализации ZKEVM
Особенности ZKEVM
Семь. Обзор и развитие решений нулевых знаний второго уровня
Фон
Механизм работы ZK Rollup
Недостатки и оптимизация ZK Rollup
Восемь. Будущее развитие zk-SNARKs.
Ускорение развития вычислительных сред
Появление и развитие zk-SNARKs
Развитие технологий расширения ZKP
Развитие взаимодейственности zk-SNARKs
Девять, заключение
Введение
С приходом эпохи Web3, приложения на Блокчейн (DApps) развиваются быстро, каждый день появляются новые приложения. В последние годы блокчейн-платформы ежедневно обрабатывают миллионы действий пользователей, обрабатывая десятки миллиардов транзакций. Огромный объем данных, возникающих в результате этих транзакций, часто включает в себя чувствительную личную информацию, такую как идентификация пользователя, сумма транзакции, адреса счетов и балансы и т.д. Из-за открытости и прозрачности Блокчейн, эти хранимые данные являются общедоступными для всех, что вызывает различные проблемы с безопасностью и конфиденциальностью.
В настоящее время существует несколько криптографических технологий, которые могут справиться с этими вызовами, включая гомоморфное шифрование, кольцевую подпись, защищенные многопользовательские вычисления и zk-SNARKs. Гомоморфное шифрование позволяет выполнять операции, не расшифровывая зашифрованные данные, что помогает защитить безопасность баланса счета и суммы транзакции, но не может защитить безопасность адреса счета. Кольцевая подпись предоставляет особую форму цифровой подписи, которая позволяет скрыть личность подписанта, тем самым защищая безопасность адреса счета, но она бессильна в защите баланса счета и суммы транзакции. Защищенные многопользовательские вычисления позволяют распределять вычислительные задачи между несколькими участниками, не позволяя никакому участнику знать данные других участников, эффективно защищая безопасность баланса счета и суммы транзакции, но также не может защитить безопасность адреса счета. Кроме того, эти технологии не могут использоваться для проверки в среде блокчейна, обладает ли доказатель достаточной суммой транзакции, не раскрывая при этом сумму транзакции, адрес счета и баланс счета.
zk-SNARKs(ZKP) является более комплексным решением, этот протокол верификации позволяет проверять истинность определенных утверждений без раскрытия каких-либо промежуточных данных. Этот протокол не требует сложной инфраструктуры открытых ключей, его повторное использование также не предоставляет злонамеренным пользователям возможности получить дополнительную полезную информацию. С помощью ZKP, проверяющий может подтвердить, есть ли у доказателя достаточная сумма транзакции, не раскрывая никаких частных данных о транзакциях. Процесс проверки включает в себя генерацию доказательства, содержащего заявленную доказателем сумму транзакции, а затем передает это доказательство проверяющему, который выполняет предопределенные вычисления по доказательству и выдает окончательный результат вычислений, чтобы прийти к выводу, принимать ли заявление доказателя. Если заявление доказателя принимается, это означает, что у него есть достаточная сумма транзакции. Указанный процесс проверки может быть записан в Блокчейн, без каких-либо подделок.
Эта особенность ZKP делает его ключевым элементом в транзакциях Блокчейн и приложениях криптовалют, особенно в области защиты конфиденциальности и масштабируемости сети, что делает его не только объектом академических исследований, но и широко признанным одним из самых важных технологических нововведений с момента успешного внедрения технологии распределенного реестра. Также это ключевая область для отраслевых приложений и венчурного капитала.
Таким образом, множество сетевых проектов на основе ZKP, таких как ZkSync, StarkNet, Mina, Filecoin и Aleo, возникло один за другим. С развитием этих проектов появляются все новые алгоритмические инновации в области ZKP, и, по сообщениям, почти каждую неделю появляются новые алгоритмы. Кроме того, разработка аппаратного обеспечения, связанного с технологией ZKP, также стремительно развивается, включая чипы, оптимизированные специально для ZKP. Например, некоторые проекты уже завершили масштабный сбор средств, и эти достижения не только демонстрируют быстрый прогресс технологии ZKP, но и отражают переход от универсального аппаратного обеспечения к специализированному, такому как GPU, FPGA и ASIC.
Эти достижения показывают, что технологии zk-SNARKs являются не только важным прорывом в области криптографии, но и ключевым двигателем для реализации более широкого применения Блокчейн-технологий, особенно в части повышения защиты конфиденциальности и производительности.
Поэтому мы решили систематически собрать знания о zk-SNARKs ( ZKP ), чтобы лучше помочь нам в принятии будущих инвестиционных решений. Для этого мы провели комплексный обзор основных академических статей, связанных с ZKP (, отсортировав их по релевантности и количеству цитирований ); одновременно мы также подробно проанализировали материалы и белые книги ведущих проектов в этой области (, отсортировав их по объему финансирования ). Эта комплексная сборка и анализ материалов предоставили прочную основу для написания данной статьи.
Один. Основы zk-SNARKs
1. Обзор
В 1985 году ученые Голдвассер, Микали и Раков в статье «Сложность знаний интерактивных систем доказательства» впервые представили концепцию zk-SNARKs (Zero-Knowledge Proof, ZKP ) и интерактивного знания (Interactive Zero-Knowledge, IZK ). Эта статья является основополагающей работой по zk-SNARKs, в ней определены многие концепции, оказавшие влияние на последующие академические исследования. Например, определение знания звучит как "выход, который невозможно вычислить", то есть знание должно быть выходом, и это должно быть некорректное вычисление, что означает, что это не может быть простой функцией, а должна быть сложной функцией. Некорректное вычисление обычно понимается как NP-проблема, то есть задача, для которой можно проверить правильность решения за полиномиальное время, где полиномиальное время означает, что время выполнения алгоритма может быть выражено полиномиальной функцией от размера входных данных. Это важный критерий для оценки эффективности и осуществимости алгоритмов в информатике. Поскольку процесс решения NP-проблемы сложен, он считается некорректным вычислением; однако процесс его проверки относительно прост, поэтому он очень подходит для верификации zk-SNARKs.
Классическим примером задачи NP является задача коммивояжера, в которой необходимо найти кратчайший путь, проходящий через ряд городов и возвращающийся в исходную точку. Хотя найти кратчайший путь может быть сложно, проверка того, является ли данный путь кратчайшим, относительно проста. Потому что проверка общей длины конкретного пути может быть выполнена за полиномиальное время.
Голдвассер и др. ввели в своей статье концепцию "сложности знаний", чтобы количественно оценить количество знаний, которые доказчик раскрывает проверяющему в интерактивных доказательных системах. Они также предложили интерактивные доказательные системы (Interactive Proof Systems, IPS), в которых доказчик (Prover) и проверяющий (Verifier) взаимодействуют друг с другом в несколько раундов, чтобы доказать истинность определенного утверждения.
Таким образом, определение zk-SNARKs, предложенное Голдвассером и другими, представляет собой особый интерактивный доказательство, в котором проверяющий не получает никакой дополнительной информации, кроме истинности утверждения в процессе проверки; и оно включает три основных свойства, такие как:
Полнота: если доказательство истинно, честный доказатель может убедить честного проверяющего в этом факте;
Надежность: если доказатель не знает содержание заявления, он может обмануть проверяющего только с ничтожной вероятностью;
Нулевая знание: после завершения процесса доказательства, проверяющий получает только информацию "доказатель обладает этими знаниями", и не может получить никакого дополнительного содержания.
2. Пример zk-SNARKs
Для лучшего понимания zk-SNARKs и его свойств, ниже приведен пример проверки того, обладает ли доказатель демонстрации определенной конфиденциальной информацией, который делится на три этапа: настройка, вызов и ответ.
Первый шаг: настройка (Setup)
На этом этапе цель доказателя состоит в том, чтобы создать доказательство, что он знает какое-то секретное число s, но не показывает s напрямую. Пусть секретное число s;
Выберите два больших простых числа p и q, вычислите их произведение n. Установите простые числа p и q, вычислите полученное n;
Вычислите v=s^2 mod n, здесь v отправляется проверяющему как часть доказательства, но этого недостаточно, чтобы проверить или любой наблюдатель смог бы вывести s;
Случайным образом выберите целое число r, вычислите x = r^2 mod n и отправьте его проверяющему. Это значение x используется в дальнейшем процессе проверки, но также не раскрывает s. Пусть случайное целое число r, вычислите полученное значение x.
Второй шаг: вызов (Challenge)
Валидатор случайным образом выбирает бит a(, который может быть 0 или 1), а затем отправляет его доказателю. Этот "вызов" определяет шаги, которые должен предпринять доказатель.
Третий шаг: ответ (Response)
В соответствии с a-значением, выданным валидатором, доказывающий дает ответ:
Если a=0, то доказатель отправляет g=r(, где r — это случайно выбранное им число ).
Если a=1, то доказатель вычисляет g=rs mod n и отправляет. Пусть проверяющий отправляет случайный бит a, в зависимости от значения a, доказатель вычисляет g;
В конце, валидатор проверяет, равняется ли g^2 mod n значению xa^v mod n, полученному на основании g. Если равенство выполняется, валидатор принимает это доказательство. Когда a=0, валидатор вычисляет g^2 mod n, справа проверяет xa^v mod n=x; когда a=1, валидатор вычисляет g^2 mod n, справа проверяет xa^v mod n=xv.
Здесь мы видим, что вычисление валидатора g^2 mod n=xa^v mod n показывает, что доказатель успешно прошел процесс верификации, при этом не раскрыв свое секретное число s. Здесь, поскольку a может принимать только значения 0 или 1, существует только две возможности, и вероятность того, что доказатель пройдет верификацию за счет удачи, составляет 1/2(, когда a равно 0, ). Однако валидатор затем вызывает доказателя k раз, доказатель постоянно меняет соответствующие числа, которые он передает валидатору, и всегда успешно проходит процесс верификации. Таким образом, вероятность того, что доказатель пройдет верификацию за счет удачи, составляет ( 1/2)^k ( и бесконечно стремится к 0), что доказывает, что доказатель действительно знает некое секретное число s. Этот пример подтверждает целостность, надежность и нулевую осведомленность системы нулевых знаний.
2. Непересекающиеся zk-SNARKs
1. Фон
zk-SNARKs(ZKP)в традиционных концепциях обычно представляют собой интерактивные и онлайн-протоколы; например, протокол Sigma обычно требует от трех до пяти раундов взаимодействия для завершения аутентификации. Однако в таких сценариях, как мгновенные транзакции или голосование, часто нет возможности для многоразового взаимодействия, особенно в приложениях технологии Блокчейн, где функции оффлайн-подтверждения становятся особенно важными.
2. Предложение NIZK
В 1988 году Блум, Фельдман и Микали впервые предложили концепцию неинтерактивных нулевых знаний (NIZK), доказав возможность завершения процедуры аутентификации между доказателем (Prover) и проверяющим (Verifier) без необходимости многократного взаимодействия. Этот прорыв позволил, что...
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Полный анализ технологии zk-SNARKs в приложениях Блокчейн и перспективы на будущее
Применение и развитие технологии zk-SNARKs в области Блокчейн
Резюме
zk-SNARKs(ZKP)технология считается одним из самых важных нововведений в области Блокчейн и является ключевым направлением внимания венчурного капитала. В данной статье подробно рассмотрены развитие ZKP за последние сорок лет и последние достижения в исследованиях.
Сначала были представлены основные концепции и исторический фон ZKP, с акцентом на анализ технологий ZKP на основе схем, включая проектирование, применение и оптимизацию моделей, таких как zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs и Ligero. В области вычислительных сред обсуждалось, как ZKVM и ZKEVM могут повысить производительность обработки транзакций, защитить конфиденциальность и увеличить эффективность проверки. В статье также рассматривается механизм работы и методы оптимизации ZK Rollup в качестве решения расширения уровня 2, а также последние достижения в области аппаратного ускорения, гибридных решений и специализированных ZK EVM.
В заключение, статья рассматривает такие новые концепции, как ZKCoprocessor, ZKML, ZKThreads, ZK Sharding и ZK StateChannels, а также обсуждает их потенциал в области масштабируемости Блокчейн, интероперабельности и защиты конфиденциальности.
Анализируя эти технологии и тенденции, данная статья предоставляет всесторонний взгляд на понимание и применение ZKP технологий, демонстрируя их огромный потенциал в повышении эффективности и безопасности Блокчейн систем, что является важной отправной точкой для будущих инвестиционных решений.
Содержание
Введение
Одно. Основы zk-SNARKs
Два, неинтерактивные zk-SNARKs
Три. Непосредственные zk-SNARKs на основе схемы
Четыре, модель zk-SNARKs
Пункт пять: Обзор и развитие нулевых знаний виртуальной машины
Шесть, обзор и развитие zk-SNARKs Ethereum Virtual Machine
Семь. Обзор и развитие решений нулевых знаний второго уровня
Восемь. Будущее развитие zk-SNARKs.
Девять, заключение
Введение
С приходом эпохи Web3, приложения на Блокчейн (DApps) развиваются быстро, каждый день появляются новые приложения. В последние годы блокчейн-платформы ежедневно обрабатывают миллионы действий пользователей, обрабатывая десятки миллиардов транзакций. Огромный объем данных, возникающих в результате этих транзакций, часто включает в себя чувствительную личную информацию, такую как идентификация пользователя, сумма транзакции, адреса счетов и балансы и т.д. Из-за открытости и прозрачности Блокчейн, эти хранимые данные являются общедоступными для всех, что вызывает различные проблемы с безопасностью и конфиденциальностью.
В настоящее время существует несколько криптографических технологий, которые могут справиться с этими вызовами, включая гомоморфное шифрование, кольцевую подпись, защищенные многопользовательские вычисления и zk-SNARKs. Гомоморфное шифрование позволяет выполнять операции, не расшифровывая зашифрованные данные, что помогает защитить безопасность баланса счета и суммы транзакции, но не может защитить безопасность адреса счета. Кольцевая подпись предоставляет особую форму цифровой подписи, которая позволяет скрыть личность подписанта, тем самым защищая безопасность адреса счета, но она бессильна в защите баланса счета и суммы транзакции. Защищенные многопользовательские вычисления позволяют распределять вычислительные задачи между несколькими участниками, не позволяя никакому участнику знать данные других участников, эффективно защищая безопасность баланса счета и суммы транзакции, но также не может защитить безопасность адреса счета. Кроме того, эти технологии не могут использоваться для проверки в среде блокчейна, обладает ли доказатель достаточной суммой транзакции, не раскрывая при этом сумму транзакции, адрес счета и баланс счета.
zk-SNARKs(ZKP) является более комплексным решением, этот протокол верификации позволяет проверять истинность определенных утверждений без раскрытия каких-либо промежуточных данных. Этот протокол не требует сложной инфраструктуры открытых ключей, его повторное использование также не предоставляет злонамеренным пользователям возможности получить дополнительную полезную информацию. С помощью ZKP, проверяющий может подтвердить, есть ли у доказателя достаточная сумма транзакции, не раскрывая никаких частных данных о транзакциях. Процесс проверки включает в себя генерацию доказательства, содержащего заявленную доказателем сумму транзакции, а затем передает это доказательство проверяющему, который выполняет предопределенные вычисления по доказательству и выдает окончательный результат вычислений, чтобы прийти к выводу, принимать ли заявление доказателя. Если заявление доказателя принимается, это означает, что у него есть достаточная сумма транзакции. Указанный процесс проверки может быть записан в Блокчейн, без каких-либо подделок.
Эта особенность ZKP делает его ключевым элементом в транзакциях Блокчейн и приложениях криптовалют, особенно в области защиты конфиденциальности и масштабируемости сети, что делает его не только объектом академических исследований, но и широко признанным одним из самых важных технологических нововведений с момента успешного внедрения технологии распределенного реестра. Также это ключевая область для отраслевых приложений и венчурного капитала.
Таким образом, множество сетевых проектов на основе ZKP, таких как ZkSync, StarkNet, Mina, Filecoin и Aleo, возникло один за другим. С развитием этих проектов появляются все новые алгоритмические инновации в области ZKP, и, по сообщениям, почти каждую неделю появляются новые алгоритмы. Кроме того, разработка аппаратного обеспечения, связанного с технологией ZKP, также стремительно развивается, включая чипы, оптимизированные специально для ZKP. Например, некоторые проекты уже завершили масштабный сбор средств, и эти достижения не только демонстрируют быстрый прогресс технологии ZKP, но и отражают переход от универсального аппаратного обеспечения к специализированному, такому как GPU, FPGA и ASIC.
Эти достижения показывают, что технологии zk-SNARKs являются не только важным прорывом в области криптографии, но и ключевым двигателем для реализации более широкого применения Блокчейн-технологий, особенно в части повышения защиты конфиденциальности и производительности.
Поэтому мы решили систематически собрать знания о zk-SNARKs ( ZKP ), чтобы лучше помочь нам в принятии будущих инвестиционных решений. Для этого мы провели комплексный обзор основных академических статей, связанных с ZKP (, отсортировав их по релевантности и количеству цитирований ); одновременно мы также подробно проанализировали материалы и белые книги ведущих проектов в этой области (, отсортировав их по объему финансирования ). Эта комплексная сборка и анализ материалов предоставили прочную основу для написания данной статьи.
Один. Основы zk-SNARKs
1. Обзор
В 1985 году ученые Голдвассер, Микали и Раков в статье «Сложность знаний интерактивных систем доказательства» впервые представили концепцию zk-SNARKs (Zero-Knowledge Proof, ZKP ) и интерактивного знания (Interactive Zero-Knowledge, IZK ). Эта статья является основополагающей работой по zk-SNARKs, в ней определены многие концепции, оказавшие влияние на последующие академические исследования. Например, определение знания звучит как "выход, который невозможно вычислить", то есть знание должно быть выходом, и это должно быть некорректное вычисление, что означает, что это не может быть простой функцией, а должна быть сложной функцией. Некорректное вычисление обычно понимается как NP-проблема, то есть задача, для которой можно проверить правильность решения за полиномиальное время, где полиномиальное время означает, что время выполнения алгоритма может быть выражено полиномиальной функцией от размера входных данных. Это важный критерий для оценки эффективности и осуществимости алгоритмов в информатике. Поскольку процесс решения NP-проблемы сложен, он считается некорректным вычислением; однако процесс его проверки относительно прост, поэтому он очень подходит для верификации zk-SNARKs.
Классическим примером задачи NP является задача коммивояжера, в которой необходимо найти кратчайший путь, проходящий через ряд городов и возвращающийся в исходную точку. Хотя найти кратчайший путь может быть сложно, проверка того, является ли данный путь кратчайшим, относительно проста. Потому что проверка общей длины конкретного пути может быть выполнена за полиномиальное время.
Голдвассер и др. ввели в своей статье концепцию "сложности знаний", чтобы количественно оценить количество знаний, которые доказчик раскрывает проверяющему в интерактивных доказательных системах. Они также предложили интерактивные доказательные системы (Interactive Proof Systems, IPS), в которых доказчик (Prover) и проверяющий (Verifier) взаимодействуют друг с другом в несколько раундов, чтобы доказать истинность определенного утверждения.
Таким образом, определение zk-SNARKs, предложенное Голдвассером и другими, представляет собой особый интерактивный доказательство, в котором проверяющий не получает никакой дополнительной информации, кроме истинности утверждения в процессе проверки; и оно включает три основных свойства, такие как:
Полнота: если доказательство истинно, честный доказатель может убедить честного проверяющего в этом факте;
Надежность: если доказатель не знает содержание заявления, он может обмануть проверяющего только с ничтожной вероятностью;
Нулевая знание: после завершения процесса доказательства, проверяющий получает только информацию "доказатель обладает этими знаниями", и не может получить никакого дополнительного содержания.
2. Пример zk-SNARKs
Для лучшего понимания zk-SNARKs и его свойств, ниже приведен пример проверки того, обладает ли доказатель демонстрации определенной конфиденциальной информацией, который делится на три этапа: настройка, вызов и ответ.
Первый шаг: настройка (Setup)
На этом этапе цель доказателя состоит в том, чтобы создать доказательство, что он знает какое-то секретное число s, но не показывает s напрямую. Пусть секретное число s;
Выберите два больших простых числа p и q, вычислите их произведение n. Установите простые числа p и q, вычислите полученное n;
Вычислите v=s^2 mod n, здесь v отправляется проверяющему как часть доказательства, но этого недостаточно, чтобы проверить или любой наблюдатель смог бы вывести s;
Случайным образом выберите целое число r, вычислите x = r^2 mod n и отправьте его проверяющему. Это значение x используется в дальнейшем процессе проверки, но также не раскрывает s. Пусть случайное целое число r, вычислите полученное значение x.
Второй шаг: вызов (Challenge)
Валидатор случайным образом выбирает бит a(, который может быть 0 или 1), а затем отправляет его доказателю. Этот "вызов" определяет шаги, которые должен предпринять доказатель.
Третий шаг: ответ (Response)
В соответствии с a-значением, выданным валидатором, доказывающий дает ответ:
Если a=0, то доказатель отправляет g=r(, где r — это случайно выбранное им число ).
Если a=1, то доказатель вычисляет g=rs mod n и отправляет. Пусть проверяющий отправляет случайный бит a, в зависимости от значения a, доказатель вычисляет g;
В конце, валидатор проверяет, равняется ли g^2 mod n значению xa^v mod n, полученному на основании g. Если равенство выполняется, валидатор принимает это доказательство. Когда a=0, валидатор вычисляет g^2 mod n, справа проверяет xa^v mod n=x; когда a=1, валидатор вычисляет g^2 mod n, справа проверяет xa^v mod n=xv.
Здесь мы видим, что вычисление валидатора g^2 mod n=xa^v mod n показывает, что доказатель успешно прошел процесс верификации, при этом не раскрыв свое секретное число s. Здесь, поскольку a может принимать только значения 0 или 1, существует только две возможности, и вероятность того, что доказатель пройдет верификацию за счет удачи, составляет 1/2(, когда a равно 0, ). Однако валидатор затем вызывает доказателя k раз, доказатель постоянно меняет соответствующие числа, которые он передает валидатору, и всегда успешно проходит процесс верификации. Таким образом, вероятность того, что доказатель пройдет верификацию за счет удачи, составляет ( 1/2)^k ( и бесконечно стремится к 0), что доказывает, что доказатель действительно знает некое секретное число s. Этот пример подтверждает целостность, надежность и нулевую осведомленность системы нулевых знаний.
2. Непересекающиеся zk-SNARKs
1. Фон
zk-SNARKs(ZKP)в традиционных концепциях обычно представляют собой интерактивные и онлайн-протоколы; например, протокол Sigma обычно требует от трех до пяти раундов взаимодействия для завершения аутентификации. Однако в таких сценариях, как мгновенные транзакции или голосование, часто нет возможности для многоразового взаимодействия, особенно в приложениях технологии Блокчейн, где функции оффлайн-подтверждения становятся особенно важными.
2. Предложение NIZK
В 1988 году Блум, Фельдман и Микали впервые предложили концепцию неинтерактивных нулевых знаний (NIZK), доказав возможность завершения процедуры аутентификации между доказателем (Prover) и проверяющим (Verifier) без необходимости многократного взаимодействия. Этот прорыв позволил, что...