В останні роки в галузі блокчейнів проекти з нульовим знанням (ZKP) демонструють сплеск зростання, особливо в застосуваннях у сфері масштабування та захисту конфіденційності. Однак, через високі математичні характеристики ZKP, глибоке розуміння цього для звичайних криптоентузіастів є певною мірою складним. У цій статті ми розглянемо теорію та застосування ZKP з нуля, дослідимо його вплив та цінність для криптоіндустрії, як початок серії.
I. Розвиток zk-SNARKs
Сучасна система zk-SNARKs походить з теорії інтерактивних доказів, запропонованої Голдвасером, Мікалі та Раккоффом у 1985 році. Ця теорія досліджує мінімальну кількість знань, які потрібно обміняти в інтерактивних системах для доведення правильності заяви через кілька раундів взаємодії. Якщо доказ може бути завершено без розкриття додаткової інформації, це називається zk-SNARKs.
Ранні системи zk-SNARKs мали недостатню ефективність і практичність, переважно залишаючись на теоретичному рівні. За останнє десятиліття, із широким застосуванням криптографії в сфері криптовалют, zk-SNARKs поступово стали важливим напрямком досліджень. Серед них, розробка універсальних, неінтерактивних, з малим обсягом доказів zk-SNARKs протоколів є однією з ключових цілей.
Важливим проривом у сфері нульових доказів стало коротке парне неінтерактивне нульове свідчення, яке було запропоноване Гротом у 2010 році, що заклало теоретичну основу для zk-SNARKs. У 2015 році проект Zcash вперше застосував нульові докази для захисту приватності транзакцій, відкривши шлях до поєднання zk-SNARKs та смарт-контрактів.
Після цього низка академічних досягнень продовжила сприяти розвитку zk-SNARKs:
У 2013 році протокол Pinocchio стиснув час доказу та верифікації
У 2016 році алгоритм Groth16 зменшив розмір доказу та підвищив ефективність перевірки
У 2017 році Bulletproofs були представлені як короткі неінтерактивні zk-SNARKs.
У 2018 році zk-STARKs реалізували систему доказів без потреби у довіреному налаштуванні
Крім того, нові алгоритми, такі як PLONK, Halo2, також постійно вдосконалюють zk-SNARK.
Два. Основні застосування zk-SNARKs
zk-SNARKs наразі головним чином застосовуються в напрямках захисту приватності та масштабування.
Захист конфіденційності
Ранні проекти з приватності транзакцій, такі як Zcash та Monero, колись користувалися великою популярністю, але через те, що реальний попит не виправдав очікувань, наразі вони відійшли на другий план.
Наприклад, у Zcash процес транзакцій із zk-SNARKs включає: налаштування системи, генерацію ключів, карбування, транзакції Pour, перевірку та отримання. Але у Zcash все ще існують деякі обмеження, такі як труднощі з масштабуванням на основі моделі UTXO, а також низька фактична частота використання приватних транзакцій.
Tornado Cash використовує дизайн з єдиним великим пулом змішування монет, заснований на мережі Ethereum, що забезпечує кращу універсальність. Він гарантує, що лише введені монети можуть бути виведені, і що кожна монета може бути виведена лише один раз, з процесом підтвердження, пов'язаним з nullifier та іншими характеристиками.
Розширення
Розширення ZK може бути реалізоване на першому рівні мережі (, як Mina ), або на другому рівні мережі (, тобто ZK rollup ). ZK rollup в основному включає дві категорії ролей: Sequencer, відповідальний за упаковку транзакцій, та Aggregator, відповідальний за об'єднання транзакцій та генерацію zk-SNARKs для оновлення дерева станів Ethereum.
Переваги ZK rollup полягають у низьких витратах, швидкій фіналізації та захисті конфіденційності, але також існують виклики, такі як велике обчислювальне навантаження та потреба в надійних налаштуваннях. На сьогоднішній день основними проектами ZK rollup є StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll тощо, які акцентують увагу на виборі SNARK/STARK та сумісності з EVM.
Сумісність з EVM є великою проблемою для систем ZK. Деякі проекти обирають розробку спеціалізованих віртуальних машин і мов програмування, інші ж прагнуть до повної сумісності з Solidity. Нещодавні швидкі досягнення в сумісності з EVM надали розробникам більше варіантів.
Три. Основні принципи ZK-SNARKs
ZK-SNARK(zk-SNARKs) є однією з найбільш поширених систем нульових знань на сьогодні. Вона має такі характеристики:
zk-SNARKs: не розкриваючи додаткову інформацію
Простота: маленький обсяг перевірки
Ненавчальний: не потрібно багаторазового взаємодії
Надійність: доведення з обмеженими обчислювальними можливостями не може підробити доказ
Інформативність: Доказник повинен знати дійсну інформацію, щоб створити доказ.
Процес отримання доказу ZK-SNARK версії Groth16 в основному включає:
Перетворіть задачу на схему
Перетворення електричної схеми у форму R1CS
Перетворення R1CS у форму QAP
Створення надійних налаштувань, генерація ключа доказу та ключа перевірки
Генерація та перевірка zk-SNARKs доказів
Цей процес заклав основу для практичного застосування zk-SNARKs. Наступні статті детальніше розглянуть принципи zk-SNARKs, приклади застосування та порівняння з ZK-STARK.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
15 лайків
Нагородити
15
4
Поділіться
Прокоментувати
0/400
just_here_for_vibes
· 07-22 19:36
zkp вже кілька разів став популярним
Переглянути оригіналвідповісти на0
RunWithRugs
· 07-21 01:12
вхопити hiddenvault вхопити стало набридливим
Переглянути оригіналвідповісти на0
ZKProofster
· 07-21 01:11
технічно кажучи, елегантність snark досі не має рівних, якщо чесно
Аналіз технології zk-SNARKs: принципи, застосування та вплив на галузь
zk-SNARKs: від принципу до застосування
Вступ
В останні роки в галузі блокчейнів проекти з нульовим знанням (ZKP) демонструють сплеск зростання, особливо в застосуваннях у сфері масштабування та захисту конфіденційності. Однак, через високі математичні характеристики ZKP, глибоке розуміння цього для звичайних криптоентузіастів є певною мірою складним. У цій статті ми розглянемо теорію та застосування ZKP з нуля, дослідимо його вплив та цінність для криптоіндустрії, як початок серії.
I. Розвиток zk-SNARKs
Сучасна система zk-SNARKs походить з теорії інтерактивних доказів, запропонованої Голдвасером, Мікалі та Раккоффом у 1985 році. Ця теорія досліджує мінімальну кількість знань, які потрібно обміняти в інтерактивних системах для доведення правильності заяви через кілька раундів взаємодії. Якщо доказ може бути завершено без розкриття додаткової інформації, це називається zk-SNARKs.
Ранні системи zk-SNARKs мали недостатню ефективність і практичність, переважно залишаючись на теоретичному рівні. За останнє десятиліття, із широким застосуванням криптографії в сфері криптовалют, zk-SNARKs поступово стали важливим напрямком досліджень. Серед них, розробка універсальних, неінтерактивних, з малим обсягом доказів zk-SNARKs протоколів є однією з ключових цілей.
Важливим проривом у сфері нульових доказів стало коротке парне неінтерактивне нульове свідчення, яке було запропоноване Гротом у 2010 році, що заклало теоретичну основу для zk-SNARKs. У 2015 році проект Zcash вперше застосував нульові докази для захисту приватності транзакцій, відкривши шлях до поєднання zk-SNARKs та смарт-контрактів.
Після цього низка академічних досягнень продовжила сприяти розвитку zk-SNARKs:
Крім того, нові алгоритми, такі як PLONK, Halo2, також постійно вдосконалюють zk-SNARK.
Два. Основні застосування zk-SNARKs
zk-SNARKs наразі головним чином застосовуються в напрямках захисту приватності та масштабування.
Захист конфіденційності
Ранні проекти з приватності транзакцій, такі як Zcash та Monero, колись користувалися великою популярністю, але через те, що реальний попит не виправдав очікувань, наразі вони відійшли на другий план.
Наприклад, у Zcash процес транзакцій із zk-SNARKs включає: налаштування системи, генерацію ключів, карбування, транзакції Pour, перевірку та отримання. Але у Zcash все ще існують деякі обмеження, такі як труднощі з масштабуванням на основі моделі UTXO, а також низька фактична частота використання приватних транзакцій.
Tornado Cash використовує дизайн з єдиним великим пулом змішування монет, заснований на мережі Ethereum, що забезпечує кращу універсальність. Він гарантує, що лише введені монети можуть бути виведені, і що кожна монета може бути виведена лише один раз, з процесом підтвердження, пов'язаним з nullifier та іншими характеристиками.
Розширення
Розширення ZK може бути реалізоване на першому рівні мережі (, як Mina ), або на другому рівні мережі (, тобто ZK rollup ). ZK rollup в основному включає дві категорії ролей: Sequencer, відповідальний за упаковку транзакцій, та Aggregator, відповідальний за об'єднання транзакцій та генерацію zk-SNARKs для оновлення дерева станів Ethereum.
Переваги ZK rollup полягають у низьких витратах, швидкій фіналізації та захисті конфіденційності, але також існують виклики, такі як велике обчислювальне навантаження та потреба в надійних налаштуваннях. На сьогоднішній день основними проектами ZK rollup є StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll тощо, які акцентують увагу на виборі SNARK/STARK та сумісності з EVM.
Сумісність з EVM є великою проблемою для систем ZK. Деякі проекти обирають розробку спеціалізованих віртуальних машин і мов програмування, інші ж прагнуть до повної сумісності з Solidity. Нещодавні швидкі досягнення в сумісності з EVM надали розробникам більше варіантів.
Три. Основні принципи ZK-SNARKs
ZK-SNARK(zk-SNARKs) є однією з найбільш поширених систем нульових знань на сьогодні. Вона має такі характеристики:
Процес отримання доказу ZK-SNARK версії Groth16 в основному включає:
Цей процес заклав основу для практичного застосування zk-SNARKs. Наступні статті детальніше розглянуть принципи zk-SNARKs, приклади застосування та порівняння з ZK-STARK.