Сучасна система нульових знань бере свій початок з роботи, спільно написаної Ґолдвасером, Мікалі та Раккоффом у 1985 році. Ця робота досліджує кількість знань, які потрібно обміняти в рамках багатократної взаємодії, щоб довести правильність твердження в інтерактивних системах. Якщо можна реалізувати обмін нульовими знаннями, то це називається нульовим доказом. Ця інтерактивна система може бути правильною лише в імовірнісному сенсі, а не математично суворо доведеною.
Щоб подолати обмеження інтерактивних систем, з'явилися неінтерактивні (NP) системи, які мають повноту і стали ідеальним вибором для zk-SNARKs. Ранні системи zk-SNARKs мали недостатню ефективність та практичність, переважно залишаючись на теоретичному рівні. За останнє десятиліття, на фоні зростання криптографії в сфері криптовалют, zk-SNARKs швидко розвинулись і стали важливим напрямком досліджень.
Ключовий прорив у нульових знаннях стався завдяки статті Грота, опублікованій у 2010 році, яка заклала теоретичну основу для zk-SNARKs. У 2015 році Zcash впровадила систему нульових знань для забезпечення конфіденційності транзакцій, що стало важливим досягненням на прикладному рівні. Після цього zk-SNARKs були поєднані зі смарт-контрактами, що зробило їх застосування ще більш широким.
Протягом цього часу деякі важливі наукові досягнення включають: протокол Pinocchio 2013 року, алгоритм Groth16 2016 року, Bulletproofs 2017 року, zk-STARKs 2018 року тощо. Ці досягнення постійно оптимізуються в аспектах розміру доказів, ефективності верифікації тощо, сприяючи розвитку zk-SNARKs.
Два. Основні застосування zk-SNARKs
Два найпоширеніших застосування zk-SNARKs — це захист конфіденційності та масштабування. Ранні проекти з конфіденційних транзакцій, такі як Zcash та Monero, привернули багато уваги, але фактичний попит виявився нижчим за очікування. В останні роки, з переходом Ethereum на масштабування, орієнтоване на rollup, рішення для масштабування на основі zk-SNARKs знову стали в центрі уваги.
приватні транзакції
Приватні транзакції вже мають кілька реалізованих проектів, таких як Zcash і Tornado, що використовують zk-SNARKs, та Monero, що використовує Bulletproof. Наприклад, у Zcash процес транзакції включає налаштування системи, генерацію ключів, карбування, генерацію доказів транзакції, перевірку та отримання. Але у Zcash є й обмеження, такі як складність масштабування на основі моделі UTXO, фактична частка використання приватних транзакцій не є високою.
Tornado використовує єдиний великий пул змішаних монет, заснований на мережі Ethereum, що забезпечує кращу універсальність. Він використовує zk-SNARK для забезпечення конфіденційності транзакцій, що гарантує, що лише внесені монети можуть бути виведені, а монети не можуть бути виведені повторно та інші характеристик.
розширення
zk-SNARKs в застосуванні для масштабування в основному є zk-rollup. zk-rollup включає дві ролі: Sequencer та Aggregator. Sequencer відповідає за упаковку транзакцій, Aggregator об'єднує велику кількість транзакцій, генерує rollup і створює zk-SNARKs для оновлення стану Layer 1.
zk-rollup має переваги, такі як низькі витрати та швидка фіналізація, але також стикається з викликами, такими як велике обчислювальне навантаження та складні налаштування безпеки. Наразі основні проекти zk-rollup включають StarkNet, zkSync, Aztec Connect, Polygon Hermez тощо, кожен з яких має свої особливості в технологічному підході та сумісності з EVM.
Сумісність з EVM є ключовим питанням розвитку zk-rollup. Проектам потрібно зважити між дружелюбністю до нульових знань і сумісністю з EVM, деякі проекти обирають повну сумісність з операційними кодами EVM, інші ж розробляють нові віртуальні машини, щоб поєднати обидва підходи. Нещодавні технічні досягнення значно підвищили сумісність з EVM, що, як очікується, сприятиме розвитку екосистеми.
Три. Основні принципи zk-SNARKs
zk-SNARK(Нульові знання стислі не інтерактивні аргументи знань) є широко використовуваним протоколом нульових знань. Він має такі характеристики, як нульові знання, стислість, не інтерактивність, надійність та надійність знань.
Процес отримання доказу Groth16 zk-SNARK складається з наступних етапів:
Перетворіть задачу на електричну схему
Перетворіть схему в форму R1CS( Rank-1 Constraint System)
Перетворити R1CS на QAP(Квадратична арифметична програма)
Створення надійних налаштувань, генерація ключа доведення та ключа перевірки
Генерація та верифікація zk-SNARK доказів
Цей процес включає складні математичні принципи та криптографічні технології, які є основою для досягнення ефективних zk-SNARKs.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
8 лайків
Нагородити
8
9
Поділіться
Прокоментувати
0/400
IntrovertMetaverse
· 07-20 08:37
Не розумію, але відчуваю, що це дуже високо.
Переглянути оригіналвідповісти на0
RektHunter
· 07-19 21:00
Навчання стало запаморочливим, пішов пити алкоголь.
Переглянути оригіналвідповісти на0
Ser_APY_2000
· 07-19 00:54
Про що йдеться, я навіть не знаю, що й думати.
Переглянути оригіналвідповісти на0
Anon32942
· 07-17 19:31
Чому здається, що всі говорять про zk, це трохи схоже на слідування моді?
Переглянути оригіналвідповісти на0
GasFeeCrier
· 07-17 19:19
Безкінечні газові витрати.
Переглянути оригіналвідповісти на0
WalletWhisperer
· 07-17 19:18
хм... цікаво, як zk-докази еволюціонували з чистої математики до фактичних механік ланцюга... поведінкові патерни незаперечні, якщо чесно
Переглянути оригіналвідповісти на0
BearMarketBuilder
· 07-17 19:12
Коли зрозумієш, що базова технологія - це справжній бог.
Переглянути оригіналвідповісти на0
HalfPositionRunner
· 07-17 19:10
Нульові знання? Ой, не розумію, тікаю.
Переглянути оригіналвідповісти на0
WenMoon42
· 07-17 19:03
Гей, в день реального використання L2 кожен має свій zk
Історія розвитку технології zk-SNARKs: від теоретичного прориву до застосування в розширенні Layer2
Розвиток та застосування zk-SNARKs
Один. Історичний розвиток zk-SNARKs
Сучасна система нульових знань бере свій початок з роботи, спільно написаної Ґолдвасером, Мікалі та Раккоффом у 1985 році. Ця робота досліджує кількість знань, які потрібно обміняти в рамках багатократної взаємодії, щоб довести правильність твердження в інтерактивних системах. Якщо можна реалізувати обмін нульовими знаннями, то це називається нульовим доказом. Ця інтерактивна система може бути правильною лише в імовірнісному сенсі, а не математично суворо доведеною.
Щоб подолати обмеження інтерактивних систем, з'явилися неінтерактивні (NP) системи, які мають повноту і стали ідеальним вибором для zk-SNARKs. Ранні системи zk-SNARKs мали недостатню ефективність та практичність, переважно залишаючись на теоретичному рівні. За останнє десятиліття, на фоні зростання криптографії в сфері криптовалют, zk-SNARKs швидко розвинулись і стали важливим напрямком досліджень.
Ключовий прорив у нульових знаннях стався завдяки статті Грота, опублікованій у 2010 році, яка заклала теоретичну основу для zk-SNARKs. У 2015 році Zcash впровадила систему нульових знань для забезпечення конфіденційності транзакцій, що стало важливим досягненням на прикладному рівні. Після цього zk-SNARKs були поєднані зі смарт-контрактами, що зробило їх застосування ще більш широким.
Протягом цього часу деякі важливі наукові досягнення включають: протокол Pinocchio 2013 року, алгоритм Groth16 2016 року, Bulletproofs 2017 року, zk-STARKs 2018 року тощо. Ці досягнення постійно оптимізуються в аспектах розміру доказів, ефективності верифікації тощо, сприяючи розвитку zk-SNARKs.
Два. Основні застосування zk-SNARKs
Два найпоширеніших застосування zk-SNARKs — це захист конфіденційності та масштабування. Ранні проекти з конфіденційних транзакцій, такі як Zcash та Monero, привернули багато уваги, але фактичний попит виявився нижчим за очікування. В останні роки, з переходом Ethereum на масштабування, орієнтоване на rollup, рішення для масштабування на основі zk-SNARKs знову стали в центрі уваги.
приватні транзакції
Приватні транзакції вже мають кілька реалізованих проектів, таких як Zcash і Tornado, що використовують zk-SNARKs, та Monero, що використовує Bulletproof. Наприклад, у Zcash процес транзакції включає налаштування системи, генерацію ключів, карбування, генерацію доказів транзакції, перевірку та отримання. Але у Zcash є й обмеження, такі як складність масштабування на основі моделі UTXO, фактична частка використання приватних транзакцій не є високою.
Tornado використовує єдиний великий пул змішаних монет, заснований на мережі Ethereum, що забезпечує кращу універсальність. Він використовує zk-SNARK для забезпечення конфіденційності транзакцій, що гарантує, що лише внесені монети можуть бути виведені, а монети не можуть бути виведені повторно та інші характеристик.
розширення
zk-SNARKs в застосуванні для масштабування в основному є zk-rollup. zk-rollup включає дві ролі: Sequencer та Aggregator. Sequencer відповідає за упаковку транзакцій, Aggregator об'єднує велику кількість транзакцій, генерує rollup і створює zk-SNARKs для оновлення стану Layer 1.
zk-rollup має переваги, такі як низькі витрати та швидка фіналізація, але також стикається з викликами, такими як велике обчислювальне навантаження та складні налаштування безпеки. Наразі основні проекти zk-rollup включають StarkNet, zkSync, Aztec Connect, Polygon Hermez тощо, кожен з яких має свої особливості в технологічному підході та сумісності з EVM.
Сумісність з EVM є ключовим питанням розвитку zk-rollup. Проектам потрібно зважити між дружелюбністю до нульових знань і сумісністю з EVM, деякі проекти обирають повну сумісність з операційними кодами EVM, інші ж розробляють нові віртуальні машини, щоб поєднати обидва підходи. Нещодавні технічні досягнення значно підвищили сумісність з EVM, що, як очікується, сприятиме розвитку екосистеми.
Три. Основні принципи zk-SNARKs
zk-SNARK(Нульові знання стислі не інтерактивні аргументи знань) є широко використовуваним протоколом нульових знань. Він має такі характеристики, як нульові знання, стислість, не інтерактивність, надійність та надійність знань.
Процес отримання доказу Groth16 zk-SNARK складається з наступних етапів:
Цей процес включає складні математичні принципи та криптографічні технології, які є основою для досягнення ефективних zk-SNARKs.