Система нулевых знаний впервые была предложена в 1985 году в статье Голдвассера, Микали и Раккофа, в которой исследовалось количество знаний, необходимых для обмена в интерактивных системах для доказательства корректности. Если можно реализовать обмен нулевыми знаниями, это называется нулевым доказательством. Ранние системы нулевых доказательств страдали от недостатка эффективности и удобства, в основном оставаясь на теоретическом уровне.
За последние десять лет zk-SNARKs быстро развивались и стали важным направлением в области криптографии. Одним из ключевых направлений исследования является разработка универсальных, неинтерактивных протоколов zk-SNARKs с малым объемом доказательства. При использовании zk-SNARKs необходимо находить баланс между скоростью доказательства, скоростью верификации и объемом доказательства.
Статья Грота 2010 года стала важным прорывом в области ZKP и заложила теоретическую основу для zk-SNARKs. В 2015 году Zcash применил零知识证明 для защиты конфиденциальности транзакций, что положило начало широкому применению ZKP.
Другие важные научные достижения включают:
Протокол Пиноккио 2013 года
Алгоритм Groth16 2016 года
Алгоритм Bulletproofs 2017 года
Протокол zk-STARKs 2018 года
Кроме того, PLONK, Halo2 и другие также являются важными достижениями в области zk-SNARKs.
Два, применение zk-SNARKs
zk-SNARKs в основном применяются в двух областях: защита конфиденциальности и масштабируемость.
Защита конфиденциальности
Ранние проекты по приватным транзакциям, такие как Zcash и Monero, были довольно заметны, но в настоящее время постепенно уходят из мейнстрима. Zcash использует zk-SNARKs для реализации приватных транзакций, основные шаги включают настройку системы, генерацию ключей, чеканку, транзакции, верификацию и получение.
Tornado Cash использует единственный большой пул смешивания, основанный на сети Ethereum, и реализует защиту конфиденциальности с помощью zk-SNARKs. Его основные характеристики включают возможность извлечения только тех монет, которые были внесены, невозможность повторного извлечения монет, а также привязку доказательства к уведомлению об аннулировании.
По сравнению с масштабированием, реализация защиты конфиденциальности относительно проста. Если схема масштабирования успешна, защита конфиденциальности в основном не станет проблемой.
расширение
Расширение ZK может быть реализовано в первом или втором уровне сети. ZK rollup — это важное решение для расширения второго уровня, включающее две роли: Sequencer и Aggregator. Sequencer отвечает за упаковку транзакций, а Aggregator объединяет транзакции и генерирует zk-SNARKs, обновляя состояние дерева Ethereum.
Преимущества ZK rollup заключаются в низких расходах, быстрой окончательности и т.д., недостатки - в большом объеме вычислений и необходимости доверенной настройки и т.д. В настоящее время основными проектами ZK rollup являются StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll и др.
Технический путь в основном выбирается между SNARK( и его улучшенной версией ), а также STARK, а также уровнем поддержки EVM. Совместимость с EVM является ключевым вопросом, влияющим на экосистему разработки и конкурентную среду.
Три, Основные принципы ZK-SNARKs
ZK-SNARK обладает тремя характеристиками: целостностью, надежностью и нулевыми знаниями. Его принцип реализации в основном включает:
Преобразуйте задачу в цепь
Преобразуйте цепь в форму R1CS
Преобразование R1CS в форму QAP
Создание доверенной настройки, генерация случайных параметров
Генерация и верификация ZK-SNARKs доказательств
Развитие и применение zk-SNARKs, а также связь с zk-STARKs будут подробно обсуждены в дальнейшем.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Развитие zk-SNARKs и их двойное применение: защита конфиденциальности и расширение Layer2
История и применение zk-SNARKs
Один. Развитие zk-SNARKs.
Система нулевых знаний впервые была предложена в 1985 году в статье Голдвассера, Микали и Раккофа, в которой исследовалось количество знаний, необходимых для обмена в интерактивных системах для доказательства корректности. Если можно реализовать обмен нулевыми знаниями, это называется нулевым доказательством. Ранние системы нулевых доказательств страдали от недостатка эффективности и удобства, в основном оставаясь на теоретическом уровне.
За последние десять лет zk-SNARKs быстро развивались и стали важным направлением в области криптографии. Одним из ключевых направлений исследования является разработка универсальных, неинтерактивных протоколов zk-SNARKs с малым объемом доказательства. При использовании zk-SNARKs необходимо находить баланс между скоростью доказательства, скоростью верификации и объемом доказательства.
Статья Грота 2010 года стала важным прорывом в области ZKP и заложила теоретическую основу для zk-SNARKs. В 2015 году Zcash применил零知识证明 для защиты конфиденциальности транзакций, что положило начало широкому применению ZKP.
Другие важные научные достижения включают:
Кроме того, PLONK, Halo2 и другие также являются важными достижениями в области zk-SNARKs.
Два, применение zk-SNARKs
zk-SNARKs в основном применяются в двух областях: защита конфиденциальности и масштабируемость.
Защита конфиденциальности
Ранние проекты по приватным транзакциям, такие как Zcash и Monero, были довольно заметны, но в настоящее время постепенно уходят из мейнстрима. Zcash использует zk-SNARKs для реализации приватных транзакций, основные шаги включают настройку системы, генерацию ключей, чеканку, транзакции, верификацию и получение.
Tornado Cash использует единственный большой пул смешивания, основанный на сети Ethereum, и реализует защиту конфиденциальности с помощью zk-SNARKs. Его основные характеристики включают возможность извлечения только тех монет, которые были внесены, невозможность повторного извлечения монет, а также привязку доказательства к уведомлению об аннулировании.
По сравнению с масштабированием, реализация защиты конфиденциальности относительно проста. Если схема масштабирования успешна, защита конфиденциальности в основном не станет проблемой.
расширение
Расширение ZK может быть реализовано в первом или втором уровне сети. ZK rollup — это важное решение для расширения второго уровня, включающее две роли: Sequencer и Aggregator. Sequencer отвечает за упаковку транзакций, а Aggregator объединяет транзакции и генерирует zk-SNARKs, обновляя состояние дерева Ethereum.
Преимущества ZK rollup заключаются в низких расходах, быстрой окончательности и т.д., недостатки - в большом объеме вычислений и необходимости доверенной настройки и т.д. В настоящее время основными проектами ZK rollup являются StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll и др.
Технический путь в основном выбирается между SNARK( и его улучшенной версией ), а также STARK, а также уровнем поддержки EVM. Совместимость с EVM является ключевым вопросом, влияющим на экосистему разработки и конкурентную среду.
Три, Основные принципы ZK-SNARKs
ZK-SNARK обладает тремя характеристиками: целостностью, надежностью и нулевыми знаниями. Его принцип реализации в основном включает:
Развитие и применение zk-SNARKs, а также связь с zk-STARKs будут подробно обсуждены в дальнейшем.