Применение и развитие технологий zk-SNARKs в области Блокчейн
Резюме
Технология нулевых знаний (ZKP) широко признается одним из самых важных нововведений в области блокчейна. В данной статье представлено систематическое обозрение литературных источников и последних исследований по технологии ZKP за последние сорок лет.
Сначала была представлена основная концепция и исторический контекст ZKP. Затем основное внимание было уделено технологии ZKP на основе схем, включая проектирование, применение и методы оптимизации таких моделей, как zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs и Ligero. В области вычислительных сред в статье представлены ZKVM и ZKEVM, обсуждается, как они могут повысить способность обработки транзакций, защитить конфиденциальность и улучшить эффективность проверки. Также в статье рассматривается механизм работы и методы оптимизации ZK Rollup как решения для расширения второго уровня, а также последние достижения в области аппаратного ускорения, гибридных решений и специализированного ZK EVM.
В заключение, в статье рассматриваются новые концепции, такие как ZKCoprocessor, ZKML, ZKThreads, ZK Sharding и ZK StateChannels, а также обсуждается их потенциал в области масштабируемости Блокчейн, совместимости и защиты конфиденциальности.
Анализируя эти последние технологии и тенденции, данная статья предлагает всесторонний взгляд на понимание и применение технологий ZKP, демонстрируя их огромный потенциал в повышении эффективности и безопасности Блокчейн-систем, предоставляя важные рекомендации для будущих инвестиционных решений.
Содержание
Введение
Базовые знания доказательств с нулевым разглашением
Обзор
Пример zk-SNARKs
Два, неинтерактивные zk-SNARKs
Фон
Появление NIZK
Преобразование Фиата-Шамира
Йенс Грот и его исследования
Другие исследования
Три, основанные на схемах zk-SNARKs
Фон
Основные концепции и особенности схемотехники
Проектирование и применение схем в zk-SNARKs
Потенциальные недостатки и вызовы
Четыре, модель zk-SNARKs
Фон
Распространенные алгоритмические модели
Решение на основе линейного PCP и задачи дискретного логарифма
Решение, основанное на доказательствах обычных людей
Нулевое знание на основе вероятностных доказательств (PCP)
Классификация этапов настройки на основе CPC
Пятый. Обзор и развитие нулевых знаний виртуальной машины
Фон
Существующая классификация ZKVM
Парадигмы фронтенда и бэкенда
Преимущества и недостатки парадигмы ZKVM
Шесть. Обзор и развитие zk-SNARKs Ethereum Virtual Machine
Фон
Принцип работы ZKEVM
Процесс реализации ZKEVM
Особенности ZKEVM
Семь. Обзор и развитие решений второго уровня с нулевыми знаниями
Фон
Механизм работы zk-Rollup
Недостатки и оптимизация zk-Rollup
Восемь. Будущее развитие zk-SNARKs
Ускорение развития вычислительной среды
Появление и развитие ZKML
Развитие технологий масштабирования ZKP
Развитие интероперабельности zk-SNARKs
Девять. Заключение
Ссылки
Введение
Интернет вступает в эпоху Web3, развитие приложений на Блокчейн происходит стремительно. В последние годы Блокчейн платформы ежедневно обрабатывают миллионы пользовательских активностей, выполняя десятки миллиардов транзакций. Огромный объем данных, генерируемых этими транзакциями, обычно включает в себя чувствительную личную информацию, такую как идентификация пользователей, суммы транзакций, адреса аккаунтов и балансы аккаунтов. Учитывая открытую и прозрачную природу Блокчейн, эти хранимые данные доступны для всех, что вызывает множество проблем безопасности и конфиденциальности.
В настоящее время существует несколько криптографических технологий, которые могут справиться с этими вызовами, включая гомоморфное шифрование, кольцевые подписи, безопасные многопартные вычисления и zk-SNARKs. Гомоморфное шифрование позволяет выполнять вычисления без расшифровки зашифрованных данных, что помогает защитить безопасность баланса счета и суммы транзакции, но не может защитить безопасность адреса счета. Кольцевые подписи представляют собой особую форму цифровой подписи, которая позволяет скрыть личность подписанта, тем самым защищая безопасность адреса счета, но не может защитить баланс счета и сумму транзакции. Безопасные многопартные вычисления позволяют распределять вычислительные задачи между несколькими участниками, не раскрывая данные других участников, эффективно защищая безопасность баланса счета и суммы транзакции, но также не могут защитить безопасность адреса счета. Кроме того, гомоморфное шифрование, кольцевые подписи и безопасные многопартные вычисления не могут быть использованы для проверки того, обладает ли доказатель достаточной суммой транзакции, не раскрывая сумму транзакции, адрес счета и баланс счета.
zk-SNARKs — это более комплексное решение, этот протокол верификации позволяет проверять правильность некоторых утверждений без раскрытия каких-либо промежуточных данных. Протокол не требует сложной инфраструктуры открытых ключей, его повторная реализация также не дает злонамеренным пользователям возможности получать дополнительную полезную информацию. С помощью ZKP проверяющий может удостовериться, обладает ли доказатель достаточной суммой для транзакции, не раскрывая никаких данных о частных транзакциях. Процесс верификации включает в себя генерацию доказательства, которое содержит сумму транзакции, утверждаемую доказателем, затем это доказательство передается проверяющему, который осуществляет предопределенные вычисления по доказательству и выдает окончательный результат вычислений, что позволяет сделать вывод о том, принимает ли он заявление доказателя. Если заявление доказателя принимается, это означает, что у него достаточно суммы для транзакции. Указанный процесс верификации может быть записан в Блокчейн, без каких-либо подделок.
Эта особенность ZKP делает его ключевым элементом в транзакциях Блокчейн и приложениях криптовалют, особенно в области защиты конфиденциальности и масштабирования сети, что делает его не только объектом академических исследований, но и широко признанным как одно из самых важных технологических нововведений со времени успешной реализации распределенной бухгалтерской технологии. Также это ключевая область для отраслевых приложений и венчурного капитала.
Таким образом, множество сетевых проектов на основе ZKP появилось, таких как ZkSync, StarkNet, Mina, Filecoin и Aleo. С развитием этих проектов алгоритмические инновации в области ZKP возникают одна за другой, и, по сообщениям, почти каждую неделю появляются новые алгоритмы. Кроме того, разработка аппаратного обеспечения, связанного с технологией ZKP, также стремительно продвигается, включая чипы, специально оптимизированные для ZKP. Например, такие проекты, как Ingonyama, Irreducible и Cysic, уже завершили массовый сбор средств. Эти разработки не только демонстрируют быстрый прогресс технологии ZKP, но и отражают переход от универсального оборудования к специализированному, такому как GPU, FPGA и ASIC.
Эти достижения показывают, что технология zk-SNARKs является не только важным прорывом в области криптографии, но и ключевым фактором для реализации более широкого применения Блокчейн технологий.
Таким образом, мы решили систематически整理ировать знания о zk-SNARKs, чтобы лучше помочь нам в принятии будущих инвестиционных решений. Для этого мы комплексно рассмотрели основные научные статьи, связанные с ZKP; одновременно мы также подробно проанализировали материалы и белые книги ведущих проектов в этой области. Этот комплексный сбор и анализ материалов предоставил надежную основу для написания данной статьи.
Один. Основы zk-SNARKs
1.Обзор
В 1985 году ученые Голдвассер, Микаали и Раккофф в статье «Сложность знаний интерактивных систем доказательств» впервые представили концепции zk-SNARKs и интерактивных систем знаний. Эта статья является основополагающей для zk-SNARKs и определяет многие концепции, оказавшие влияние на последующие академические исследования. Например, определение знания — это «выход, который не может быть вычислен», то есть знание должно быть выходом и не должно быть вычисляемым, что означает, что оно не может быть простой функцией, а должно быть сложной функцией. Невычислимый вывод обычно можно понять как NP-проблему, то есть проблему, для которой можно проверить правильность решения за полиномиальное время, где полиномиальное время означает, что время выполнения алгоритма можно выразить полиномиальной функцией размера входных данных. Это важный критерий для оценки эффективности и осуществимости алгоритмов в информатике. Поскольку процесс решения NP-проблемы сложен, его считают невыполнимым вычислением; но процесс проверки относительно прост, поэтому он идеально подходит для проверки zk-SNARKs.
Классическим примером NP-проблемы является задача коммивояжера, в которой необходимо найти кратчайший путь для посещения ряда городов и возвращения в начальную точку. Хотя найти кратчайший путь может быть сложно, проверка того, является ли данный путь кратчайшим, относительно проста. Поскольку проверка общей длины конкретного пути может быть выполнена за полиномиальное время.
Голдвассер и др. в своей статье ввели концепцию "сложности знаний", чтобы количественно оценить объем знаний, который доказатель раскрывает проверяющему в интерактивных доказательных системах. Они также предложили интерактивные доказательные системы, в которых доказатель и проверяющий взаимодействуют в нескольких раундах, чтобы подтвердить истинность определенного утверждения.
Таким образом, определение zk-SNARKs, предложенное Голдвассером и др., представляет собой особый интерактивный протокол доказательства, при котором проверяющий не получает никакой дополнительной информации, кроме истинности утверждения; и было предложено три основных свойства, включая:
1.Полнота: если доказательство истинно, честный доказатель может убедить честного проверяющего в этом факте;
Надежность: если доказатель не знает содержание заявления, он может обмануть проверяющего лишь с незначительной вероятностью;
Нулевое знание: после завершения процесса доказательства проверяющий получает только информацию о том, что "доказатель обладает этим знанием", и не может получить никаких дополнительных данных.
2.Пример zk-SNARKs
Для лучшего понимания zk-SNARKs и его свойств, ниже приведен пример проверки, имеет ли доказчик определенную конфиденциальную информацию, который разделен на три этапа: настройка, вызов и ответ.
Первый шаг: настройка
На этом этапе цель доказателя состоит в том, чтобы создать доказательство того, что он знает некое секретное число s, но не показывает s напрямую. Пусть секретное число;
Выберите два больших простых числа p и q, вычислите их произведение. Установите сумму простых чисел, вычислите полученное.
Вычисление, здесь v как часть доказательства отправляется валидатору, но этого недостаточно, чтобы валидатор или любой наблюдатель мог вывести s.
Случайно выберите целое число r, вычислите его и отправьте валидатору. Это значение x используется в дальнейшем процессе верификации, но также не раскрывает s. Пусть это будет случайное целое число, вычисленное.
Второй шаг: вызов
Валидатор случайным образом выбирает бит a(, который может быть 0 или 1), а затем отправляет его доказателю. Этот "вызов" определяет шаги, которые должен предпринять доказатель.
Шаг третий: ответ
В соответствии с a-значением, выданным валидатором, доказатель отвечает:
Если доказатель отправляет ( здесь r - это число, которое он ранее выбрал случайным образом ).
Если доказатель вычисляет и отправляет. Пусть проверяющий отправляет случайный бит, в зависимости от значения a, доказатель вычисляет;
В конце концов, валидатор проверяет, равно ли полученное g. Если уравнение выполняется, валидатор принимает это доказательство. В то время валидатор вычисляет проверку справа; в то время валидатор вычисляет проверку справа.
Здесь мы видим, что валидатор вычисляет, что доказатель успешно прошел процесс проверки, не раскрывая своего секретного числа s. Здесь, поскольку a может принимать только 0 или 1, существует только две возможности, вероятность того, что доказатель проходит проверку за счет удачи, составляет (, когда a равно 0, ). Но затем валидатор снова вызывает доказателя на проверку, доказатель постоянно меняет соответствующие числа и отправляет их валидатору, и всегда успешно проходит процесс верификации. Таким образом, вероятность того, что доказатель проходит проверку за счет удачи, бесконечно стремится к 0(, и вывод о том, что доказатель действительно знает какое-то секретное число s, доказан. Этот пример подтверждает целостность, надежность и нулевую знание системы нулевых знаний.
Второй, неинтерактивные zk-SNARKs
) 1.Фон
zk-SNARKs в традиционном понимании обычно представляют собой интерактивные и онлайн-протоколы; например, протокол Sigma часто требует от трех до пяти раундов взаимодействия для завершения аутентификации. Однако в таких сценариях, как мгновенные транзакции или голосование, часто нет возможности для многократного взаимодействия, особенно в приложениях технологии Блокчейн, где функция оффлайн-проверки становится особенно важной.
2.Предложение NIZK
В 1988 году Блум, Фельдман и Микали впервые предложили концепцию неинтерактивных zk-SNARKs, доказав, что без необходимости в многократных взаимодействиях доказатель и проверяющий все же могут завершить процесс аутентификации. Этот прорыв сделал возможным реализацию мгновенных транзакций, голосования и приложений Блокчейн.
Они предложили, что неинтерактивные zk-SNARKs можно разделить на три этапа:
Настройки
Вычисление
Проверка
На этапе настройки используется вычислительная функция, которая преобразует параметры безопасности в общедоступные знания, обычно кодируемые в общей ссылочной строке. Это способ вычисления доказательства и проверки с использованием правильных параметров и алгоритмов.
Этап вычисления использует вычислительную функцию, входные данные и ключи доказательства, а также выдает результаты вычислений и доказательства.
На этапе проверки проверяется действительность доказательства с помощью проверочного ключа.
Предложенная ими модель публичной строковой ссылки основана на том, что все участники делят одну строку.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
15 Лайков
Награда
15
7
Репост
Поделиться
комментарий
0/400
GweiWatcher
· 07-31 02:31
Нулевые знания все еще находятся на ранней стадии
Посмотреть ОригиналОтветить0
LiquidationSurvivor
· 07-30 23:33
Будущее принадлежит нулевым знаниям
Посмотреть ОригиналОтветить0
TestnetNomad
· 07-30 23:29
Будущее вычислений с использованием конфиденциальности
Технологические инновации zk-SNARKs в Блокчейн: всесторонний прогресс от Алгоритма до аппаратного обеспечения
Применение и развитие технологий zk-SNARKs в области Блокчейн
Резюме
Технология нулевых знаний (ZKP) широко признается одним из самых важных нововведений в области блокчейна. В данной статье представлено систематическое обозрение литературных источников и последних исследований по технологии ZKP за последние сорок лет.
Сначала была представлена основная концепция и исторический контекст ZKP. Затем основное внимание было уделено технологии ZKP на основе схем, включая проектирование, применение и методы оптимизации таких моделей, как zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs и Ligero. В области вычислительных сред в статье представлены ZKVM и ZKEVM, обсуждается, как они могут повысить способность обработки транзакций, защитить конфиденциальность и улучшить эффективность проверки. Также в статье рассматривается механизм работы и методы оптимизации ZK Rollup как решения для расширения второго уровня, а также последние достижения в области аппаратного ускорения, гибридных решений и специализированного ZK EVM.
В заключение, в статье рассматриваются новые концепции, такие как ZKCoprocessor, ZKML, ZKThreads, ZK Sharding и ZK StateChannels, а также обсуждается их потенциал в области масштабируемости Блокчейн, совместимости и защиты конфиденциальности.
Анализируя эти последние технологии и тенденции, данная статья предлагает всесторонний взгляд на понимание и применение технологий ZKP, демонстрируя их огромный потенциал в повышении эффективности и безопасности Блокчейн-систем, предоставляя важные рекомендации для будущих инвестиционных решений.
Содержание
Введение
Два, неинтерактивные zk-SNARKs
Три, основанные на схемах zk-SNARKs
Четыре, модель zk-SNARKs
Пятый. Обзор и развитие нулевых знаний виртуальной машины
Шесть. Обзор и развитие zk-SNARKs Ethereum Virtual Machine
Семь. Обзор и развитие решений второго уровня с нулевыми знаниями
Восемь. Будущее развитие zk-SNARKs
Девять. Заключение
Ссылки
Введение
Интернет вступает в эпоху Web3, развитие приложений на Блокчейн происходит стремительно. В последние годы Блокчейн платформы ежедневно обрабатывают миллионы пользовательских активностей, выполняя десятки миллиардов транзакций. Огромный объем данных, генерируемых этими транзакциями, обычно включает в себя чувствительную личную информацию, такую как идентификация пользователей, суммы транзакций, адреса аккаунтов и балансы аккаунтов. Учитывая открытую и прозрачную природу Блокчейн, эти хранимые данные доступны для всех, что вызывает множество проблем безопасности и конфиденциальности.
В настоящее время существует несколько криптографических технологий, которые могут справиться с этими вызовами, включая гомоморфное шифрование, кольцевые подписи, безопасные многопартные вычисления и zk-SNARKs. Гомоморфное шифрование позволяет выполнять вычисления без расшифровки зашифрованных данных, что помогает защитить безопасность баланса счета и суммы транзакции, но не может защитить безопасность адреса счета. Кольцевые подписи представляют собой особую форму цифровой подписи, которая позволяет скрыть личность подписанта, тем самым защищая безопасность адреса счета, но не может защитить баланс счета и сумму транзакции. Безопасные многопартные вычисления позволяют распределять вычислительные задачи между несколькими участниками, не раскрывая данные других участников, эффективно защищая безопасность баланса счета и суммы транзакции, но также не могут защитить безопасность адреса счета. Кроме того, гомоморфное шифрование, кольцевые подписи и безопасные многопартные вычисления не могут быть использованы для проверки того, обладает ли доказатель достаточной суммой транзакции, не раскрывая сумму транзакции, адрес счета и баланс счета.
zk-SNARKs — это более комплексное решение, этот протокол верификации позволяет проверять правильность некоторых утверждений без раскрытия каких-либо промежуточных данных. Протокол не требует сложной инфраструктуры открытых ключей, его повторная реализация также не дает злонамеренным пользователям возможности получать дополнительную полезную информацию. С помощью ZKP проверяющий может удостовериться, обладает ли доказатель достаточной суммой для транзакции, не раскрывая никаких данных о частных транзакциях. Процесс верификации включает в себя генерацию доказательства, которое содержит сумму транзакции, утверждаемую доказателем, затем это доказательство передается проверяющему, который осуществляет предопределенные вычисления по доказательству и выдает окончательный результат вычислений, что позволяет сделать вывод о том, принимает ли он заявление доказателя. Если заявление доказателя принимается, это означает, что у него достаточно суммы для транзакции. Указанный процесс верификации может быть записан в Блокчейн, без каких-либо подделок.
Эта особенность ZKP делает его ключевым элементом в транзакциях Блокчейн и приложениях криптовалют, особенно в области защиты конфиденциальности и масштабирования сети, что делает его не только объектом академических исследований, но и широко признанным как одно из самых важных технологических нововведений со времени успешной реализации распределенной бухгалтерской технологии. Также это ключевая область для отраслевых приложений и венчурного капитала.
Таким образом, множество сетевых проектов на основе ZKP появилось, таких как ZkSync, StarkNet, Mina, Filecoin и Aleo. С развитием этих проектов алгоритмические инновации в области ZKP возникают одна за другой, и, по сообщениям, почти каждую неделю появляются новые алгоритмы. Кроме того, разработка аппаратного обеспечения, связанного с технологией ZKP, также стремительно продвигается, включая чипы, специально оптимизированные для ZKP. Например, такие проекты, как Ingonyama, Irreducible и Cysic, уже завершили массовый сбор средств. Эти разработки не только демонстрируют быстрый прогресс технологии ZKP, но и отражают переход от универсального оборудования к специализированному, такому как GPU, FPGA и ASIC.
Эти достижения показывают, что технология zk-SNARKs является не только важным прорывом в области криптографии, но и ключевым фактором для реализации более широкого применения Блокчейн технологий.
Таким образом, мы решили систематически整理ировать знания о zk-SNARKs, чтобы лучше помочь нам в принятии будущих инвестиционных решений. Для этого мы комплексно рассмотрели основные научные статьи, связанные с ZKP; одновременно мы также подробно проанализировали материалы и белые книги ведущих проектов в этой области. Этот комплексный сбор и анализ материалов предоставил надежную основу для написания данной статьи.
Один. Основы zk-SNARKs
1.Обзор
В 1985 году ученые Голдвассер, Микаали и Раккофф в статье «Сложность знаний интерактивных систем доказательств» впервые представили концепции zk-SNARKs и интерактивных систем знаний. Эта статья является основополагающей для zk-SNARKs и определяет многие концепции, оказавшие влияние на последующие академические исследования. Например, определение знания — это «выход, который не может быть вычислен», то есть знание должно быть выходом и не должно быть вычисляемым, что означает, что оно не может быть простой функцией, а должно быть сложной функцией. Невычислимый вывод обычно можно понять как NP-проблему, то есть проблему, для которой можно проверить правильность решения за полиномиальное время, где полиномиальное время означает, что время выполнения алгоритма можно выразить полиномиальной функцией размера входных данных. Это важный критерий для оценки эффективности и осуществимости алгоритмов в информатике. Поскольку процесс решения NP-проблемы сложен, его считают невыполнимым вычислением; но процесс проверки относительно прост, поэтому он идеально подходит для проверки zk-SNARKs.
Классическим примером NP-проблемы является задача коммивояжера, в которой необходимо найти кратчайший путь для посещения ряда городов и возвращения в начальную точку. Хотя найти кратчайший путь может быть сложно, проверка того, является ли данный путь кратчайшим, относительно проста. Поскольку проверка общей длины конкретного пути может быть выполнена за полиномиальное время.
Голдвассер и др. в своей статье ввели концепцию "сложности знаний", чтобы количественно оценить объем знаний, который доказатель раскрывает проверяющему в интерактивных доказательных системах. Они также предложили интерактивные доказательные системы, в которых доказатель и проверяющий взаимодействуют в нескольких раундах, чтобы подтвердить истинность определенного утверждения.
Таким образом, определение zk-SNARKs, предложенное Голдвассером и др., представляет собой особый интерактивный протокол доказательства, при котором проверяющий не получает никакой дополнительной информации, кроме истинности утверждения; и было предложено три основных свойства, включая:
1.Полнота: если доказательство истинно, честный доказатель может убедить честного проверяющего в этом факте;
Надежность: если доказатель не знает содержание заявления, он может обмануть проверяющего лишь с незначительной вероятностью;
Нулевое знание: после завершения процесса доказательства проверяющий получает только информацию о том, что "доказатель обладает этим знанием", и не может получить никаких дополнительных данных.
2.Пример zk-SNARKs
Для лучшего понимания zk-SNARKs и его свойств, ниже приведен пример проверки, имеет ли доказчик определенную конфиденциальную информацию, который разделен на три этапа: настройка, вызов и ответ.
Первый шаг: настройка
На этом этапе цель доказателя состоит в том, чтобы создать доказательство того, что он знает некое секретное число s, но не показывает s напрямую. Пусть секретное число;
Выберите два больших простых числа p и q, вычислите их произведение. Установите сумму простых чисел, вычислите полученное.
Вычисление, здесь v как часть доказательства отправляется валидатору, но этого недостаточно, чтобы валидатор или любой наблюдатель мог вывести s.
Случайно выберите целое число r, вычислите его и отправьте валидатору. Это значение x используется в дальнейшем процессе верификации, но также не раскрывает s. Пусть это будет случайное целое число, вычисленное.
Второй шаг: вызов
Валидатор случайным образом выбирает бит a(, который может быть 0 или 1), а затем отправляет его доказателю. Этот "вызов" определяет шаги, которые должен предпринять доказатель.
Шаг третий: ответ
В соответствии с a-значением, выданным валидатором, доказатель отвечает:
Если доказатель отправляет ( здесь r - это число, которое он ранее выбрал случайным образом ).
Если доказатель вычисляет и отправляет. Пусть проверяющий отправляет случайный бит, в зависимости от значения a, доказатель вычисляет;
В конце концов, валидатор проверяет, равно ли полученное g. Если уравнение выполняется, валидатор принимает это доказательство. В то время валидатор вычисляет проверку справа; в то время валидатор вычисляет проверку справа.
Здесь мы видим, что валидатор вычисляет, что доказатель успешно прошел процесс проверки, не раскрывая своего секретного числа s. Здесь, поскольку a может принимать только 0 или 1, существует только две возможности, вероятность того, что доказатель проходит проверку за счет удачи, составляет (, когда a равно 0, ). Но затем валидатор снова вызывает доказателя на проверку, доказатель постоянно меняет соответствующие числа и отправляет их валидатору, и всегда успешно проходит процесс верификации. Таким образом, вероятность того, что доказатель проходит проверку за счет удачи, бесконечно стремится к 0(, и вывод о том, что доказатель действительно знает какое-то секретное число s, доказан. Этот пример подтверждает целостность, надежность и нулевую знание системы нулевых знаний.
Второй, неинтерактивные zk-SNARKs
) 1.Фон
zk-SNARKs в традиционном понимании обычно представляют собой интерактивные и онлайн-протоколы; например, протокол Sigma часто требует от трех до пяти раундов взаимодействия для завершения аутентификации. Однако в таких сценариях, как мгновенные транзакции или голосование, часто нет возможности для многократного взаимодействия, особенно в приложениях технологии Блокчейн, где функция оффлайн-проверки становится особенно важной.
2.Предложение NIZK
В 1988 году Блум, Фельдман и Микали впервые предложили концепцию неинтерактивных zk-SNARKs, доказав, что без необходимости в многократных взаимодействиях доказатель и проверяющий все же могут завершить процесс аутентификации. Этот прорыв сделал возможным реализацию мгновенных транзакций, голосования и приложений Блокчейн.
Они предложили, что неинтерактивные zk-SNARKs можно разделить на три этапа:
На этапе настройки используется вычислительная функция, которая преобразует параметры безопасности в общедоступные знания, обычно кодируемые в общей ссылочной строке. Это способ вычисления доказательства и проверки с использованием правильных параметров и алгоритмов.
Этап вычисления использует вычислительную функцию, входные данные и ключи доказательства, а также выдает результаты вычислений и доказательства.
На этапе проверки проверяется действительность доказательства с помощью проверочного ключа.
Предложенная ими модель публичной строковой ссылки основана на том, что все участники делят одну строку.