История эволюции технологии нулевых доказательств за 40 лет: от основ до полного анализа ZK Rollup

Обзор технологии zk-SNARKs и перспективы на будущее

Резюме

zk-SNARKs(ZKP) как важная криптографическая технология, в области блокчейна широко считается одним из самых революционных нововведений после технологии распределенного реестра. В данной статье представлен систематический обзор развития технологии ZKP за последние сорок лет и её последних исследований.

Сначала была представлена основная концепция и исторический контекст ZKP, с акцентом на анализ технологии ZKP на основе схем, включая проектирование, применение и методы оптимизации моделей zkSNARK, Pinocchio, Bulletproofs и т.д. В области вычислительной среды в статье представлены ZKVM и ZKEVM, обсуждаются их возможности по повышению производительности обработки транзакций, защите конфиденциальности и увеличению эффективности верификации. В статье также объясняется механизм работы ZK Rollup как решения для расширения Layer 2 и методы его оптимизации, а также последние достижения в области аппаратного ускорения, гибридных решений и специализированного ZK EVM.

В завершение, статья рассматривает новые концепции, такие как ZKCoprocessor, ZKML, ZKThreads, ZK Sharding и ZK StateChannels, и исследует их потенциал в области масштабируемости блокчейна, интероперабельности и защиты конфиденциальности.

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

Содержание

Введение

Одно. Основы zk-SNARKs

  1. Обзор
  2. zk-SNARKs пример

二、неинтерактивные零知识证明

  1. Фон
  2. Введение NIZK
  3. Преобразование Фиат-Шамира
  4. Jens Groth и его исследования
  5. Другие исследования

Три. Нулевая знаниевая доказательство на основе схемы

  1. Фон
  2. Основные концепции и особенности модели цепи
  3. Проектирование и применение схем в zk-SNARKs
  4. Потенциальные недостатки и проблемы

Четыре, zk-SNARKs модель

  1. Фон
  2. Распространенные алгоритмические модели
  3. Решение, основанное на линейном PCP и задаче дискретного логарифма
  4. Решение на основе доказательства обычных людей
  5. Доказательство с нулевым знанием на основе вероятностной проверки
  6. Классификация этапа настройки на основе CPC

Пять. Обзор и развитие нулевых знаний виртуальной машины

  1. Фон
  2. Существующая классификация ZKVM
  3. Парадигмы фронтенда и бэкенда
  4. Плюсы и минусы парадигмы ZKVM

Шесть. Обзор и развитие нулевых знаний Ethereum Virtual Machine

  1. Фон
  2. Принцип работы ZKEVM
  3. Процесс реализации ZKEVM
  4. Особенности ZKEVM

Семь. Обзор и развитие решений второго уровня с нулевым знанием

  1. Фон
  2. Механизм работы ZK Rollup
  3. Недостатки и оптимизация ZK Rollup

В. Будущее развития zk-SNARKs

  1. Ускорение развития вычислительной среды
  2. Появление и развитие ZKML
  3. Развитие технологий масштабирования ZKP
  4. Разработка взаимной совместимости zk-SNARKs

Девять, заключение

Введение

С приходом эпохи Web3, блокчейн-приложения (DApps) демонстрируют взрывной рост, каждый день появляются новые приложения. В последние годы блокчейн-платформы ежедневно обрабатывают миллионы действий пользователей и десятки миллиардов транзакций. Огромный объем данных, генерируемых этими транзакциями, часто содержит чувствительную личную информацию, такую как идентификация пользователя, сумма транзакции, адреса счетов и остатки. Учитывая открытость и прозрачность блокчейна, эти хранящиеся данные являются общедоступными для всех, что вызывает различные проблемы безопасности и конфиденциальности.

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

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

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

В связи с этим множество проектов на основе ZKP, таких как ZkSync, StarkNet, Mina, Filecoin и Aleo, начали появляться. С развитием этих проектов алгоритмические инновации в области ZKP возникают одна за другой, и, как сообщается, почти каждую неделю появляются новые алгоритмы. Кроме того, связанная с технологией ZKP разработка аппаратного обеспечения также быстро продвигается, включая чипы, специально оптимизированные для ZKP. Например, такие проекты, как Ingonyama, Irreducible и Cysic, уже провели масштабные сборы средств, и эти разработки не только демонстрируют быстрые достижения технологии ZKP, но и отражают переход от универсального аппаратного обеспечения к специализированному, такому как GPU, FPGA и ASIC.

Эти достижения показывают, что технология zk-SNARKs является не только важным прорывом в области криптографии, но и ключевым двигателем для реализации более широкого применения технологий блокчейна (, особенно в повышении защиты конфиденциальности и производительности ).

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

Один. Базовые знания о zk-SNARKs

1. Обзор

В 1985 году ученые Голдвассер, Микали и Раккоф в своей статье «Сложность знаний интерактивных систем доказательства» впервые предложили zk-SNARKs ( Zero-Knowledge Proof, ZKP ) и интерактивное знание ( Interactive Zero-Knowledge, IZK ). Эта статья является основополагающей для нулевых доказательств знаний и определяет многие концепции, которые повлияли на последующие академические исследования. Например, определение знаний — это "невычислимый вывод", то есть знание должно быть выводом и быть невычисляемым, что означает, что это не может быть простой функцией, а должно быть сложной функцией. Невычислимый вывод обычно можно понимать как NP-проблему, то есть проблему, решение которой можно проверить за полиномиальное время, где полиномиальное время означает, что время выполнения алгоритма может быть выражено полиномиальной функцией размера входных данных. Это важный критерий для оценки эффективности и осуществимости алгоритмов в информатике. Поскольку процесс решения NP-проблемы сложен, его считают невычислимым; однако процесс проверки относительно прост, что делает его очень подходящим для проверки нулевых доказательств знаний.

Классическим примером NP-проблемы является задача коммивояжера, в которой необходимо найти кратчайший путь, чтобы посетить ряд городов и вернуться в исходную точку. Хотя найти кратчайший путь может быть сложно, проверка того, является ли данный путь кратчайшим, относительно проста. Поскольку проверка общей длины конкретного пути может быть выполнена за полиномиальное время.

В своей статье Голдвассер и др. ввели понятие «сложность знаний», чтобы количественно оценить объем знаний, которые доказатель раскрывает проверяющему в интерактивных системах доказательства. Они также предложили интерактивные системы доказательства (Interactive Proof Systems, IPS), в которых доказатель (Prover) и проверяющий (Verifier) взаимодействуют в нескольких раундах, чтобы доказать истинность утверждения.

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

  1. Полнота: если доказательство истинно, честный доказатель может убедить честного проверяющего в этом факте;

  2. Надежность: если доказатель не знает содержание заявления, он может обмануть проверяющего лишь с незначительной вероятностью;

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

2.Пример доказательства с нулевым разглашением

Чтобы лучше понять zk-SNARKs и его свойства, ниже приведен пример проверки того, обладает ли доказатель свидетельством о наличии определенной конфиденциальной информации. Этот пример делится на три этапа: настройка, вызов и ответ.

Первый шаг: настройка

На этом этапе цель доказателя - создать доказательство того, что он знает некое секретное число 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.

Второй шаг: Призыв

Валидатор случайным образом выбирает значение a(, которое может быть 0 или 1), а затем отправляет его доказателю. Этот "вызов" определяет шаги, которые доказатель должен предпринять дальше.

Шаг 3: Ответ

В соответствии с a-значением, отправленным валидатором, доказатель отвечает:

Если a=0, то доказатель отправляет g=r(, где r - это ранее случайно выбранное число ).

Если a=1, то доказатель вычисляет g=rs mod n и отправляет. Пусть проверяющий отправляет случайный бит a, в зависимости от значения a, доказатель вычисляет g;

Наконец, валидатор проверяет, равно ли x g^2 mod n, основываясь на полученном g. Если равенство выполняется, валидатор принимает это доказательство. Когда a=0, валидатор вычисляет g^2 mod n и проверяет x справа; когда a=1, валидатор вычисляет g^2 mod n и проверяет xv справа.

Здесь мы видим, что значение x=g^2 mod n, полученное валидатором, указывает на то, что доказатель успешно прошел процесс валидации, при этом не раскрыв свой секретный номер s. Здесь, поскольку a может принимать только 0 или 1, существует только две возможности, вероятность того, что доказатель случайно пройдет проверку, составляет 50%(, когда a равно 0,). Но затем валидатор снова вызывает доказателя n раз, и доказатель постоянно меняет связанные числа, представленные валидатору, и всегда успешно проходит процесс валидации. Таким образом, вероятность того, что доказатель случайно пройдет проверку, составляет ( 1/2)^n( и бесконечно стремится к 0), что доказывает, что доказатель действительно знает какой-то секретный номер s. Этот пример демонстрирует целостность, надежность и нулевую знание системы нулевых знаний.

Два, неинтерактивные zk-SNARKs

1.Фон

zk-SNARKs(ZKP) в традиционном понимании обычно является интерактивной и онлайн-формой протокола; например, протокол Sigma обычно требует от трех до пяти раундов взаимодействия для завершения аутентификации. Однако в таких сценариях, как мгновенные сделки или голосование, часто нет возможности для многораундного взаимодействия, особенно в приложениях технологии блокчейна, где оффлайн-функция проверки становится особенно важной.

2.Предложение NIZK

В 1988 году Блум, Фельдман и Микали впервые предложили концепцию неинтерактивных нулевых знаний (NIZK), доказав возможность завершения процесса аутентификации между доказателем (Prover) и проверяющим (Verifier) без необходимости многократного взаимодействия. Этот прорыв сделал возможным реализацию мгновенных транзакций, голосования и приложений на блокчейне.

ZK-5.9%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Репост
  • Поделиться
комментарий
0/400
BlockDetectivevip
· 07-15 23:55
zksnark очень вкусно
Посмотреть ОригиналОтветить0
FunGibleTomvip
· 07-15 04:16
Кто это вообще поймет... Я уже почти в шоке.
Посмотреть ОригиналОтветить0
FlashLoanLordvip
· 07-14 05:09
Не могу прочитать, даже собака не понимает.
Посмотреть ОригиналОтветить0
wagmi_eventuallyvip
· 07-14 05:05
zk Я использовал только stark, остальное не понимаю.
Посмотреть ОригиналОтветить0
JustHereForMemesvip
· 07-14 04:55
zk эта технология действительно удивительная
Посмотреть ОригиналОтветить0
ImpermanentPhilosophervip
· 07-14 04:55
DOGE где не работает zkp не использовался ли раньше
Посмотреть ОригиналОтветить0
DaoGovernanceOfficervip
· 07-14 04:53
*вздох* еще один опрос, в котором отсутствуют критические идеи Виталика из его zk статьи 2022 года...
Посмотреть ОригиналОтветить0
  • Закрепить