Системи zk-SNARKs вперше виникли в 1985 році в результаті новаторської роботи Goldwasser, Micali та Rackoff. У цій статті досліджується мінімальна кількість знань, необхідних для обміну в рамках багатократних взаємодій для доведення правильності твердження в інтерактивних системах. Якщо можна реалізувати обмін знаннями, це називається zk-SNARKs. Ранні системи zk-SNARKs мали проблеми з ефективністю та практичністю, в основному залишаючись на теоретичному рівні.
За останні десять років, завдяки широкому застосуванню криптографії в галузі криптовалют, zk-SNARKs зазнали бурхливого розвитку. Серед них розробка універсальних, неінтерактивних протоколів zk-SNARKs з обмеженим розміром доказів стала одним із ключових напрямків досліджень. Основний виклик zk-SNARKs полягає в балансуванні швидкості доказів, швидкості перевірки та розміру доказів.
У 2010 році стаття, опублікована Гротом, заклала теоретичні основи zk-SNARKs, ставши важливим проривом у сфері нульових знань. У 2015 році Zcash застосував нульові знання для захисту конфіденційності транзакцій, що стало початком широкого використання нульових знань.
Після цього низка наукових досягнень сприяла розвитку zk-SNARKs:
Протокол Pinocchio 2013 року стиснув час доказування та перевірки
Алгоритм Groth16 2016 року спростив обсяг доказів і підвищив ефективність верифікації
Bulletproofs, представлені в 2017 році, реалізували короткі докази без необхідності в надійних налаштуваннях.
У 2018 році протокол zk-STARKs не вимагав надійних налаштувань, ставши ще одним важливим напрямком розвитку.
Інші важливі досягнення також включають PLONK, Halo2 та вдосконалення zk-SNARKs.
Два, основні застосування zk-SNARKs
Найширшими двома сферами застосування zk-SNARKs наразі є захист конфіденційності та масштабування.
У сфері захисту конфіденційності спочатку з'явилися проекти приватних транзакцій, такі як Zcash, Monero. Але через те, що реальний попит на приватні транзакції не виправдав очікувань, такі проекти поступово відійшли на другий план.
У сфері масштабування, з переходом Ethereum на маршрут масштабування, орієнтований на rollup, рішення для масштабування на основі zk-SNARKs знову стало в центрі уваги галузі.
приватні транзакції
Представницькі проєкти приватних транзакцій включають:
Використання Zcash та Tornado на базі zk-SNARKs
Використання Bulletproof Monero
Візьмемо Zcash як приклад, його процес транзакцій zk-SNARKs включає: налаштування системи, генерацію ключів, карбування, переказ, верифікацію та отримання.
Zcash хоча і реалізує приватність транзакцій, але все ще має деякі обмеження:
На основі моделі UTXO частина інформації про транзакції лише прихована, а не повністю схована.
Важко інтегрувати з іншими додатками
Використання приватних транзакцій становить менше 10%
В порівнянні, Tornado використовує єдиний великий пул змішаних монет, що забезпечує кращу універсальність. Tornado Cash реалізовано на основі Groth16, може надати такі характеристики:
Тільки внесені монети можуть бути виведені
Кожну монету можна вивести лише один раз
Процес доказу пов'язаний з повідомленням про скасування монети
має безпеку 126 біт
розширення
zk-SNARKs у розширенні використовується головним чином через zk-rollup. zk-rollup включає в себе два типи ключових ролей:
Sequencer відповідає за упаковку транзакцій
Агрегатор відповідає за об'єднання транзакцій та генерацію zk-SNARKs
Переваги zk-rollup включають: низькі витрати, швидка фіналізація, можливість захисту конфіденційності тощо. Недоліки включають: велика обчислювальна потужність для генерації доказів, SNARK вимагає надійних налаштувань тощо.
На ринку зараз основні проекти zk-rollup:
Мережа StarkWare
zkSync від Matter Labs
Aztec Connect від Aztec
Гермес і Міден з Полігону
Петля
Прокрутка
Ці проекти в технічному плані головним чином відрізняються тим, чи використовують вони zk-SNARKs чи STARK, а також ступенем підтримки EVM.
Сумісність з EVM є великою проблемою для zk-rollup. Наразі в індустрії існує два основних підходи:
Повністю сумісний з операційними кодами Solidity
Розробка нової віртуальної машини, яка одночасно враховує дружність до ZK та сумісність зі Solidity
Нещодавно було досягнуто важливих успіхів у сумісності EVM, що обіцяє безшовну міграцію розробників з основної ланцюга Ethereum до zk-rollup, що матиме значний вплив на екосистему ZK.
Три, основні принципи ZK-SNARKs
zk-SNARKs означає "нульові знання компактних неінтерактивних доказів", має такі характеристики:
Zero Knowledge: процес доказування не розкриває додаткову інформацію
Стисло: перевірка невелика
Неперервний:非交互式
Аргументи: обчислювальна надійність
Знання: довіритель повинен знати дійсну інформацію
Процес отримання доказів zk-SNARKs Groth16 в основному включає:
Перетворіть задачу на схему
Перетворення схеми в форму R1CS
Перетворення R1CS у форму QAP
Генерація параметрів довіреного налаштування
Генерація та перевірка zk-SNARKs доказів
Технологія zk-SNARKs все ще швидко розвивається, в майбутньому вона має потенціал відігравати важливу роль у захисті приватності, масштабуванні та інших сферах.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
19 лайків
Нагородити
19
5
Репост
Поділіться
Прокоментувати
0/400
FlatTax
· 21год тому
zk шлях до простоти
Переглянути оригіналвідповісти на0
DegenGambler
· 08-09 17:43
Не розумію, як багато втратити через шахрайство
Переглянути оригіналвідповісти на0
ChainDetective
· 08-09 17:28
zk займався цим стільки років, краще вже прямо розробляти.
Переглянути оригіналвідповісти на0
CantAffordPancake
· 08-09 17:24
А так-так-так, говорив півдня, а знову хвалить zk
Переглянути оригіналвідповісти на0
OfflineNewbie
· 08-09 17:22
Знову настав час глибоко зануритися в криптографію.
zk-SNARKs: ключова технологія від захисту конфіденційності до розширення Layer2
Розвиток та застосування zk-SNARKs
Од. Історичний розвиток zk-SNARKs
Системи zk-SNARKs вперше виникли в 1985 році в результаті новаторської роботи Goldwasser, Micali та Rackoff. У цій статті досліджується мінімальна кількість знань, необхідних для обміну в рамках багатократних взаємодій для доведення правильності твердження в інтерактивних системах. Якщо можна реалізувати обмін знаннями, це називається zk-SNARKs. Ранні системи zk-SNARKs мали проблеми з ефективністю та практичністю, в основному залишаючись на теоретичному рівні.
За останні десять років, завдяки широкому застосуванню криптографії в галузі криптовалют, zk-SNARKs зазнали бурхливого розвитку. Серед них розробка універсальних, неінтерактивних протоколів zk-SNARKs з обмеженим розміром доказів стала одним із ключових напрямків досліджень. Основний виклик zk-SNARKs полягає в балансуванні швидкості доказів, швидкості перевірки та розміру доказів.
У 2010 році стаття, опублікована Гротом, заклала теоретичні основи zk-SNARKs, ставши важливим проривом у сфері нульових знань. У 2015 році Zcash застосував нульові знання для захисту конфіденційності транзакцій, що стало початком широкого використання нульових знань.
Після цього низка наукових досягнень сприяла розвитку zk-SNARKs:
Інші важливі досягнення також включають PLONK, Halo2 та вдосконалення zk-SNARKs.
Два, основні застосування zk-SNARKs
Найширшими двома сферами застосування zk-SNARKs наразі є захист конфіденційності та масштабування.
У сфері захисту конфіденційності спочатку з'явилися проекти приватних транзакцій, такі як Zcash, Monero. Але через те, що реальний попит на приватні транзакції не виправдав очікувань, такі проекти поступово відійшли на другий план.
У сфері масштабування, з переходом Ethereum на маршрут масштабування, орієнтований на rollup, рішення для масштабування на основі zk-SNARKs знову стало в центрі уваги галузі.
приватні транзакції
Представницькі проєкти приватних транзакцій включають:
Візьмемо Zcash як приклад, його процес транзакцій zk-SNARKs включає: налаштування системи, генерацію ключів, карбування, переказ, верифікацію та отримання.
Zcash хоча і реалізує приватність транзакцій, але все ще має деякі обмеження:
В порівнянні, Tornado використовує єдиний великий пул змішаних монет, що забезпечує кращу універсальність. Tornado Cash реалізовано на основі Groth16, може надати такі характеристики:
розширення
zk-SNARKs у розширенні використовується головним чином через zk-rollup. zk-rollup включає в себе два типи ключових ролей:
Переваги zk-rollup включають: низькі витрати, швидка фіналізація, можливість захисту конфіденційності тощо. Недоліки включають: велика обчислювальна потужність для генерації доказів, SNARK вимагає надійних налаштувань тощо.
На ринку зараз основні проекти zk-rollup:
Ці проекти в технічному плані головним чином відрізняються тим, чи використовують вони zk-SNARKs чи STARK, а також ступенем підтримки EVM.
Сумісність з EVM є великою проблемою для zk-rollup. Наразі в індустрії існує два основних підходи:
Нещодавно було досягнуто важливих успіхів у сумісності EVM, що обіцяє безшовну міграцію розробників з основної ланцюга Ethereum до zk-rollup, що матиме значний вплив на екосистему ZK.
Три, основні принципи ZK-SNARKs
zk-SNARKs означає "нульові знання компактних неінтерактивних доказів", має такі характеристики:
Процес отримання доказів zk-SNARKs Groth16 в основному включає:
Технологія zk-SNARKs все ще швидко розвивається, в майбутньому вона має потенціал відігравати важливу роль у захисті приватності, масштабуванні та інших сферах.