Современная система zk-SNARKs восходит к исследованиям, проведенным в 1985 году Голдвассером, Микали и Раккоффом. Они предложили, как в интерактивных системах можно доказать правильность утверждения, минимально обмениваясь информацией. Эта концепция называется zk-SNARKs, то есть доказательство истинности некоторого утверждения без раскрытия какой-либо дополнительной информации.
Ранние системы zk-SNARKs имели недостатки в эффективности и практичности, в основном оставаясь на теоретическом уровне. Только за последние десять лет, с широким применением криптографии в области криптовалют, zk-SNARKs начали бурно развиваться и стали ключевым направлением исследований. В частности, разработка универсальных, неинтерактивных протоколов zk-SNARKs с небольшим объемом доказательства является одним из самых важных направлений исследований.
Одним из важных прорывов в области нулевых знаний стало короткое парное неинтерактивное доказательство нулевых знаний, предложенное Гротом в 2010 году, которое положило начало теоретической базе для zk-SNARKs. В 2015 году применение нулевых знаний в проекте Zcash обеспечило защиту конфиденциальности транзакций, открыв более широкие сценарии применения.
С тех пор возникло множество важных академических достижений:
Протокол Пиноккио 2013 года значительно повысил эффективность доказательства и верификации.
Groth16 2016 года еще больше уменьшил масштаб доказательства и увеличил скорость проверки
Bulletproofs, предложенные в 2017 году, представляют собой лаконичные неинтерактивные zk-SNARKs без необходимости в доверенной настройке.
zk-STARKs, представленные в 2018 году, предложили масштабируемые, прозрачные и устойчивые к квантовым атакам доказательства вычислительной целостности.
Другие новые технологии, такие как PLONK, Halo2 и др., также продолжают способствовать прогрессу zk-SNARK.
Основные применения zk-SNARKs
На данный момент два самых широких направления применения zk-SNARKs - это защита конфиденциальности и масштабирование.
В области защиты конфиденциальности изначально появились такие代表ативные проекты, как Zcash и Monero. Однако из-за того, что спрос на конфиденциальные транзакции оказался ниже ожиданий, такие проекты постепенно исчезли из главного потока.
Вопрос расширяемости снова стал актуальным с переходом Ethereum 2.0 на стратегию, сосредоточенную на rollup, и решения по расширению на основе zk-SNARKs вновь оказались в центре внимания.
Приватные сделки
Основные реализации приватных транзакций включают:
Использование zk-SNARKs Zcash и Tornado Cash
Использование Monero с Bulletproofs
Использование системы смешивания Dash( скрывает только адрес )
Например, в случае Zcash, его процесс транзакций включает в себя: настройку системы, генерацию ключей, чеканку, сброс, проверку и получение и т.д. Однако у Zcash есть и некоторые ограничения, такие как основание на модели UTXO, что затрудняет интеграцию с другими приложениями, а также низкий процент фактического использования приватных транзакций.
Tornado Cash использует единый большой пул смешанных монет, основанный на сети Ethereum, и применяет технологию zk-SNARKs. Это гарантирует, что только внесенные монеты могут быть выведены, и каждая монета может быть выведена только один раз.
В сравнении с этим, реализация защиты конфиденциальности относительно проста, и если в будущем проблема масштабируемости будет решена, конфиденциальность также не станет основным препятствием.
расширение
Применение zk-SNARKs в области масштабирования в основном делится на два типа:
Сетевое расширение первого уровня, например, проект Mina
Увеличение пропускной способности второго уровня сети, а именно zk-rollup
Основная идея zk-rollup заключается в объединении большого количества транзакций и генерации zk-SNARKs, а затем в проверке этого доказательства на основной цепочке для обновления состояния. Этот подход имеет такие преимущества, как низкие затраты, высокая безопасность и быстрая окончательность транзакций, но также сталкивается с такими вызовами, как большие вычислительные нагрузки и необходимость в доверительных настройках.
В настоящее время основные проекты zk-rollup на рынке включают StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring и Scroll. Основные различия между этими проектами заключаются в выборе SNARK или STARK, а также в поддержке совместимости с EVM.
Совместимость с EVM является важной проблемой. Проектам необходимо находить баланс между эффективностью zk-SNARKs и удобством для разработчиков Ethereum. Некоторые проекты выбирают полную совместимость с операциями Solidity, в то время как другие разрабатывают новые виртуальные машины, чтобы учесть дружелюбие к zk-SNARKs и совместимость с Solidity. Недавние быстрые успехи в совместимости с EVM предоставляют разработчикам больше возможностей.
Основные принципы zk-SNARKs
zk-SNARK(零知识简洁非交互式知识论证) является широко применяемой технологией zk-SNARKs. Она обладает следующими характеристиками:
zk-SNARKs: не раскрывая дополнительную информацию
Простота: маленький объем верификации
Неперсонализированный: не требуется многократного взаимодействия
Надежно: доказательства не могут быть подделаны ограниченными по способностям доказателями
Знание: доказатель должен знать действительную информацию, чтобы построить доказательство
Groth16 является одним из распространенных реализаций zk-SNARKs, основные шаги следующие:
Преобразуйте проблему в цепь
Преобразование схемы в форму R1CS ( Rank-1 Constraint System )
Преобразование R1CS в QAP (Квадратичная арифметическая программа)
Провести надежную настройку, сгенерировать ключи доказательства и проверки
Генерация и верификация zk-SNARKs
Технология нулевых знаний быстро развивается, открывая новые возможности для блокчейна. В будущем мы продолжим исследовать принципы zk-SNARK, примеры применения, а также его связь с другими технологиями, такими как zk-STARK.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
11 Лайков
Награда
11
5
Репост
Поделиться
комментарий
0/400
MoneyBurner
· 08-10 20:31
Теперь только войти в позицию zk, смогу ли я успеть на эту волну на луну? Я только что создал позицию на пять!
Посмотреть ОригиналОтветить0
RooftopVIP
· 08-10 17:56
Какова польза от чистой теории? Не стоит углубляться.
Посмотреть ОригиналОтветить0
FalseProfitProphet
· 08-10 17:50
Это просто использование популярности шиткоин.
Посмотреть ОригиналОтветить0
IfIWereOnChain
· 08-10 17:48
А это разве не электронная подпись?
Посмотреть ОригиналОтветить0
DataOnlooker
· 08-10 17:46
Наконец-то я дождался своего любимого нулевого знания.
Доказательства с нулевым разглашением: от истории к применению: демистификация принципов и будущих перспектив zk-SNARKs
Развитие и перспективы применения zk-SNARKs
История развития zk-SNARKs
Современная система zk-SNARKs восходит к исследованиям, проведенным в 1985 году Голдвассером, Микали и Раккоффом. Они предложили, как в интерактивных системах можно доказать правильность утверждения, минимально обмениваясь информацией. Эта концепция называется zk-SNARKs, то есть доказательство истинности некоторого утверждения без раскрытия какой-либо дополнительной информации.
Ранние системы zk-SNARKs имели недостатки в эффективности и практичности, в основном оставаясь на теоретическом уровне. Только за последние десять лет, с широким применением криптографии в области криптовалют, zk-SNARKs начали бурно развиваться и стали ключевым направлением исследований. В частности, разработка универсальных, неинтерактивных протоколов zk-SNARKs с небольшим объемом доказательства является одним из самых важных направлений исследований.
Одним из важных прорывов в области нулевых знаний стало короткое парное неинтерактивное доказательство нулевых знаний, предложенное Гротом в 2010 году, которое положило начало теоретической базе для zk-SNARKs. В 2015 году применение нулевых знаний в проекте Zcash обеспечило защиту конфиденциальности транзакций, открыв более широкие сценарии применения.
С тех пор возникло множество важных академических достижений:
Другие новые технологии, такие как PLONK, Halo2 и др., также продолжают способствовать прогрессу zk-SNARK.
Основные применения zk-SNARKs
На данный момент два самых широких направления применения zk-SNARKs - это защита конфиденциальности и масштабирование.
В области защиты конфиденциальности изначально появились такие代表ативные проекты, как Zcash и Monero. Однако из-за того, что спрос на конфиденциальные транзакции оказался ниже ожиданий, такие проекты постепенно исчезли из главного потока.
Вопрос расширяемости снова стал актуальным с переходом Ethereum 2.0 на стратегию, сосредоточенную на rollup, и решения по расширению на основе zk-SNARKs вновь оказались в центре внимания.
Приватные сделки
Основные реализации приватных транзакций включают:
Например, в случае Zcash, его процесс транзакций включает в себя: настройку системы, генерацию ключей, чеканку, сброс, проверку и получение и т.д. Однако у Zcash есть и некоторые ограничения, такие как основание на модели UTXO, что затрудняет интеграцию с другими приложениями, а также низкий процент фактического использования приватных транзакций.
Tornado Cash использует единый большой пул смешанных монет, основанный на сети Ethereum, и применяет технологию zk-SNARKs. Это гарантирует, что только внесенные монеты могут быть выведены, и каждая монета может быть выведена только один раз.
В сравнении с этим, реализация защиты конфиденциальности относительно проста, и если в будущем проблема масштабируемости будет решена, конфиденциальность также не станет основным препятствием.
расширение
Применение zk-SNARKs в области масштабирования в основном делится на два типа:
Основная идея zk-rollup заключается в объединении большого количества транзакций и генерации zk-SNARKs, а затем в проверке этого доказательства на основной цепочке для обновления состояния. Этот подход имеет такие преимущества, как низкие затраты, высокая безопасность и быстрая окончательность транзакций, но также сталкивается с такими вызовами, как большие вычислительные нагрузки и необходимость в доверительных настройках.
В настоящее время основные проекты zk-rollup на рынке включают StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring и Scroll. Основные различия между этими проектами заключаются в выборе SNARK или STARK, а также в поддержке совместимости с EVM.
Совместимость с EVM является важной проблемой. Проектам необходимо находить баланс между эффективностью zk-SNARKs и удобством для разработчиков Ethereum. Некоторые проекты выбирают полную совместимость с операциями Solidity, в то время как другие разрабатывают новые виртуальные машины, чтобы учесть дружелюбие к zk-SNARKs и совместимость с Solidity. Недавние быстрые успехи в совместимости с EVM предоставляют разработчикам больше возможностей.
Основные принципы zk-SNARKs
zk-SNARK(零知识简洁非交互式知识论证) является широко применяемой технологией zk-SNARKs. Она обладает следующими характеристиками:
Groth16 является одним из распространенных реализаций zk-SNARKs, основные шаги следующие:
Технология нулевых знаний быстро развивается, открывая новые возможности для блокчейна. В будущем мы продолжим исследовать принципы zk-SNARK, примеры применения, а также его связь с другими технологиями, такими как zk-STARK.