Сучасні zk-SNARKs вперше були представлені в 1985 році в дослідженнях, проведених Goldwasser, Micali та Rackoff. Вони запропонували, як у інтерактивних системах можна довести правильність твердження з мінімальною обміном інформацією. Ця концепція відома як zk-SNARKs, тобто доведення істинності певного твердження без розкриття додаткової інформації.
На початкових етапах системи zk-SNARKs мали недоліки в ефективності та практичності, в основному залишаючись на теоретичному рівні. Лише за останнє десятиліття, завдяки широкому застосуванню криптографії в сфері криптовалют, zk-SNARKs почали активно розвиватися, ставши ключовим напрямком досліджень. Серед них, розробка універсальних, неінтерактивних, з малим обсягом доказів протоколів zk-SNARKs є одним з найважливіших напрямків дослідження.
Одним із важливих проривів у нульових знаннях стало коротке парне неінтерактивне нульове свідчення, запропоноване Гротом у 2010 році, яке заклало теоретичну основу для zk-SNARKs. У 2015 році застосування нульових знань у проекті Zcash забезпечило захист конфіденційності транзакцій, відкривши більш широкі можливості для застосування.
Після цього з'явилась низка важливих наукових досягнень:
Протокол Піноккіо 2013 року значно підвищив ефективність доказів та перевірок
Groth16 2016 року ще більше зменшив розмір доказу та підвищив швидкість верифікації
У 2017 році Bulletproofs представили компактні неінтерактивні zk-SNARKs без необхідності у надійному налаштуванні.
У 2018 році були представлені zk-STARKs, які пропонують масштабовані, прозорі та стійкі до квантових атак докази обчислювальної цілісності.
Інші нові технології, такі як PLONK, Halo2 тощо, також постійно сприяють прогресу zk-SNARKs.
zk-SNARKs основні застосування
zk-SNARKs наразі мають два найпоширеніші напрямки застосування: захист конфіденційності та масштабування.
У сфері захисту конфіденційності раніше з'явилися такі代表性 проектів, як Zcash і Monero. Але через те, що попит на конфіденційні транзакції не виправдав очікувань, ці проекти поступово зникли з основної уваги.
В питанні масштабування, з переходом Ethereum 2.0 на маршрут, орієнтований на rollup, масштабувальні рішення на основі zk-SNARKs знову стали в центрі уваги.
приватні транзакції
Основні реалізації приватних транзакцій включають:
Використання zk-SNARKs Zcash та Tornado Cash
Використання Bulletproofs у Monero
Система змішування монет 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-SNARK
zk-SNARK(zk-SNARKs) є широко застосовуваною технологією нульових знань. Вона має такі характеристики:
zk-SNARKs: не розкриває додаткову інформацію
Лаконічність: маленький обсяг верифікації
Неперервний: без необхідності в багаторазовій взаємодії
Надійний: обмежені й можливості доказувачів не можуть підробити свідчення
Знання: доказувач повинен знати дійсну інформацію, щоб побудувати доказ
Groth16 є поширеним реалізацією zk-SNARKs, основні етапи якої наведені нижче:
Перетворення проблеми на схему
Перетворіть схему в R1CS ( Rank-1 Constraint System )
Перетворення R1CS у QAP (Квадратична арифметична програма)
Провести надійне налаштування, згенерувати ключі доказів і верифікації
Генерація та перевірка zk-SNARKs
Технологія нульового знання швидко розвивається, відкриваючи нові можливості для блокчейну. У майбутньому ми продовжимо досліджувати принципи zk-SNARKs, приклади застосування, а також його зв'язок з іншими технологіями, такими як 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-SNARK та майбутніх перспектив.
Розвиток та перспективи застосування zk-SNARKs
zk-SNARKs історичний розвиток
Сучасні zk-SNARKs вперше були представлені в 1985 році в дослідженнях, проведених Goldwasser, Micali та Rackoff. Вони запропонували, як у інтерактивних системах можна довести правильність твердження з мінімальною обміном інформацією. Ця концепція відома як zk-SNARKs, тобто доведення істинності певного твердження без розкриття додаткової інформації.
На початкових етапах системи zk-SNARKs мали недоліки в ефективності та практичності, в основному залишаючись на теоретичному рівні. Лише за останнє десятиліття, завдяки широкому застосуванню криптографії в сфері криптовалют, zk-SNARKs почали активно розвиватися, ставши ключовим напрямком досліджень. Серед них, розробка універсальних, неінтерактивних, з малим обсягом доказів протоколів zk-SNARKs є одним з найважливіших напрямків дослідження.
Одним із важливих проривів у нульових знаннях стало коротке парне неінтерактивне нульове свідчення, запропоноване Гротом у 2010 році, яке заклало теоретичну основу для zk-SNARKs. У 2015 році застосування нульових знань у проекті Zcash забезпечило захист конфіденційності транзакцій, відкривши більш широкі можливості для застосування.
Після цього з'явилась низка важливих наукових досягнень:
Інші нові технології, такі як PLONK, Halo2 тощо, також постійно сприяють прогресу zk-SNARKs.
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-SNARK
zk-SNARK(zk-SNARKs) є широко застосовуваною технологією нульових знань. Вона має такі характеристики:
Groth16 є поширеним реалізацією zk-SNARKs, основні етапи якої наведені нижче:
Технологія нульового знання швидко розвивається, відкриваючи нові можливості для блокчейну. У майбутньому ми продовжимо досліджувати принципи zk-SNARKs, приклади застосування, а також його зв'язок з іншими технологіями, такими як zk-STARK.