Эволюция технологий zk-SNARKs: от теоретических прорывов до приложений для масштабирования

robot
Генерация тезисов в процессе

zk-SNARKs: эволюция от теории к практике

Развитие zk-SNARKs

Система нулевых знаний берет свое начало из статьи «О сложности знаний интерактивных доказательных систем», опубликованной в 1985 году Голдвассером, Микали и Раккоффом. В этой статье рассматривается объем знаний, который необходимо обменять в интерактивной системе для доказательства истинности утверждения через много раундов взаимодействия. Если доказательство может быть завершено без раскрытия какой-либо дополнительной информации, это называется нулевым знанием.

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

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

С тех пор некоторые важные академические достижения включают:

  • Протокол Пиноккио 2013 года значительно повысил эффективность доказательства и верификации
  • Groth16 2016 года, который дополнительно сократил размер доказательства и повысил эффективность верификации
  • Bulletproofs 2017 года предложили короткие алгоритмы доказательства без необходимости в доверенной настройке.
  • В 2018 году были предложены zk-STARKs, которые представляют собой квантово-устойчивый протокол нулевых знаний.

Другие новые разработки, такие как PLONK, Halo2 и т.д., также улучшили zk-SNARK в разных аспектах.

HashKey ZK 101 Первый выпуск: Исторические принципы и отрасль

Основные приложения zk-SNARKs

Наиболее распространенные два применения zk-SNARKs в настоящее время — это защита конфиденциальности и масштабирование.

Ранее такие приложения для обеспечения конфиденциальности, как Zcash и Monero, пользовались большим вниманием, но потребность в конфиденциальности не оказалась столь ярко выраженной, и такие проекты постепенно отошли на второй план. В то же время потребность в масштабировании становится всё более актуальной. Особенно после того, как Ethereum 2.0 перешёл на путь, ориентированный на rollup, решения по масштабированию на основе zk-SNARKs вернулись в фокус внимания отрасли.

Приватные сделки

Представительные проекты по приватным сделкам включают:

  • Zcash: использование zk-SNARKs для обеспечения конфиденциальности транзакций
  • Monero: использует алгоритм Bulletproofs
  • Tornado Cash: смеситель на базе Ethereum, использующий zk-SNARKs

Процесс конфиденциальной транзакции Zcash включает в себя настройку системы, генерацию ключей, чеканку, создание доказательства транзакции, верификацию и получение и т.д. Однако у Zcash есть и некоторые ограничения, такие как основание на модели UTXO, что затрудняет интеграцию с другими приложениями, а фактическая частота использования конфиденциальных транзакций не высока.

Tornado Cash использует единый большой пул смешанных монет, что обеспечивает лучшую универсальность. Он основан на реализации zk-SNARKs на основе Groth16, что гарантирует, что только депонированные монеты могут быть выведены, и каждая монета может быть выведена только один раз.

HashKey ZK 101 Первый выпуск: Исторические принципы и отрасль

расширение

Применение zk-SNARKs в области масштабирования в основном заключается в zk-rollup. Основные роли в zk-rollup выполняют Sequencer и Aggregator. Sequencer отвечает за упаковку транзакций, а Aggregator объединяет большое количество транзакций и генерирует zk-SNARKs для обновления дерева состояния Ethereum.

Преимущества zk-rollup заключаются в низких затратах, высокой скорости транзакций и защите конфиденциальности. Недостатки заключаются в большом объеме вычислений для генерации доказательства, а также в том, что SNARK требует доверительной настройки.

В настоящее время основными проектами zk-rollup являются:

  • StarkNet: использует zk-STARKs, не поддерживает EVM
  • zkSync: использует PLONK, поддерживает EVM
  • Aztec: разработал протокол PLONK, приоритет конфиденциальности
  • Scroll: стремится реализовать совместимость EVM с zk-rollup

Совместимость с EVM является одной из основных проблем, с которыми сталкивается zk-rollup. В настоящее время существуют два основных решения: полная совместимость с опкодами Solidity или разработка новой виртуальной машины, дружелюбной к ZK, с совместимостью с Solidity. Улучшение совместимости с EVM существенно повлияет на развитие экосистемы ZK.

HashKey ZK 101 Первая серия: Исторические принципы и отрасль

Основные принципы zk-SNARKs

zk-SNARKs обозначает "нуль- conocimientos сжатые неинтерактивные доказательства". Он имеет следующие характеристики:

  • zk-SNARKs: не раскрывая дополнительную информацию
  • Простота: низкие затраты на верификацию
  • Неинтерактивный: не требует многократного взаимодействия
  • Доказательство: вычислительно надежно
  • Знания: Доказатель должен знать действительную информацию

Принцип реализации zk-SNARK Groth16 включает в себя следующие шаги:

  1. Преобразуйте проблему в схему
  2. Преобразование схемы в форму R1CS
  3. Преобразование R1CS в форму QAP
  4. Генерация параметров доверенной настройки
  5. Генерация и верификация zk-SNARKs

HashKey ZK 101 Первый выпуск: исторические принципы и отрасль

Технология zk-SNARKs быстро развивается и в будущем ожидается, что она сыграет важную роль в большем количестве областей.

HashKey ZK 101 Первый выпуск: Исторические принципы и индустрия

ZK2.45%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить