Глубина анализа технологии zk-SNARKs: всесторонний обзор от Алгоритма до применения

Развитие и применение технологий zk-SNARKs: Обзор в области Блокчейн

Резюме

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

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

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

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

Содержание

Предисловие

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

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

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

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

Три, основанные на схемах zk-SNARKs

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

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

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

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

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

Шесть. Обзор и развитие zk-SNARKs Ethereum Virtual Machine

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

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

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

Восемь. Направления будущего развития zk-SNARKs

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

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

Введение

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

В настоящее время существует несколько криптографических технологий, которые могут справиться с этими вызовами, включая гомоморфное шифрование, кольцевые подписи, безопасные многосторонние вычисления и 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 ), чтобы лучше помочь нам в принятии будущих инвестиционных решений. Для этого мы всесторонне изучили основные научные статьи, связанные с ZKP; одновременно мы также подробно проанализировали материалы и белые книги ведущих проектов в этой области. Этот комплексный сбор и анализ материалов обеспечили прочную основу для написания данной статьи.

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

1. Обзор

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

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

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

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

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

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

  3. zk-SNARKs (zero-knowledge): После завершения процесса доказательства, проверяющий получает только информацию "доказательство наличия этих знаний", но не может получить никаких дополнительных данных.

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;

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

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

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

) 1. Фон

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

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

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

Они предложили неинтерактивные zk-SNARKs ) NIZK (, которые можно разделить на три этапа:

  1. Настройки
  2. Вычисление
  3. Проверка

На этапе настройки используется вычислительная функция, которая преобразует параметры безопасности в общие знания ), доступные как для доказателя, так и для проверяющего. Обычно это кодируется в общей ссылочной строке ( CRS ). Это способ вычисления доказательства и проверки с использованием правильных параметров и алгоритмов.

На этапе вычислений используются вычислительная функция, ключи ввода и доказательства, а на выходе получают результаты вычислений и доказательства.

На этапе проверки подлинности осуществляется проверка действительности доказательства с помощью проверочного ключа.

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

Затем технология NIZK пережила стремительное развитие, появилось множество методов преобразования интерактивных零知识证明 в неинтерактивные доказательства. Эти методы в построении систем

ZK-4.86%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 8
  • Репост
  • Поделиться
комментарий
0/400
JustHereForAirdropsvip
· 08-13 20:37
zkвойти в позицию скорость быстрая...сначала действительно не понимал
Посмотреть ОригиналОтветить0
LiquidityWitchvip
· 08-13 04:43
zk магическое варение... темные пулы математических истин, где древняя криптография встречается с алхимией блокчейна
Посмотреть ОригиналОтветить0
SigmaBrainvip
· 08-11 01:18
Будет ли zk оптимальным решением для L2?
Посмотреть ОригиналОтветить0
NotSatoshivip
· 08-11 01:16
Несколько лет назад я уже углубился в zk, но так и не смог разобраться.
Посмотреть ОригиналОтветить0
WagmiWarriorvip
· 08-11 01:15
Снова вижу, как кто-то хвалит zk, сначала сделайте базовое исследование.
Посмотреть ОригиналОтветить0
UnluckyValidatorvip
· 08-11 01:12
Платная утка еще не обновилась?
Посмотреть ОригиналОтветить0
MetaLord420vip
· 08-11 01:11
Снова zkrollup - это спасение...
Посмотреть ОригиналОтветить0
BearMarketMonkvip
· 08-11 01:02
Жизнь и смерть не важны, ZKP действительно хорош.
Посмотреть ОригиналОтветить0
  • Закрепить