Сучасна система zk-SNARKs походить з теорії інтерактивних доказів, запропонованої Голдвассером, Мікалі та Ракоффом у 1985 році. Ця теорія досліджує, скільки знань потрібно обмінятися під час взаємодії, щоб довести правильність твердження, і вводить концепцію zk-SNARKs.
Ранні системи zk-SNARKs мали недоліки в ефективності та практичності, переважно залишаючись на теоретичному рівні. Лише за останні десять років, з розвитком криптографії в сфері криптовалют, zk-SNARKs поступово стали важливим напрямком досліджень. Серед них розробка універсальних, неінтерактивних, протоколів zk-SNARKs з обмеженим масштабом доказів стала одним з ключових напрямків досліджень.
Важливий прорив у сфері нульових доказів стався в 2010 році, коли Грот представив коротку парну неінтерактивну нульову доказову теорію, що заклала теоретичну основу для zk-SNARK. У 2015 році нульові докази вперше були застосовані в проекті Zcash для захисту конфіденційності транзакцій. Після цього поєднання zk-SNARK з розумними контрактами ще більше розширило їхні сфери застосування.
У цьому процесі деякі важливі наукові досягнення включають:
Протокол Піноккіо 2013 року значно підвищив ефективність доказів та верифікації.
Алгоритм Groth16 2016 року ще більше спростив розмір доказу та підвищив ефективність верифікації.
Алгоритм Bulletproofs 2017 року запропонував короткі неінтерактивні zk-SNARKs.
Протокол zk-STARKs 2018 року, нова система нульових знань без надійного налаштування
Крім того, нові рішення, такі як PLONK, Halo2, також внесли важливі вдосконалення в zk-SNARKs.
zk-SNARKs основні застосування
zk-SNARKs мають широке застосування в обох сферах: захисту конфіденційності та масштабування.
У сфері захисту конфіденційності ранні проекти з конфіденційними транзакціями, такі як Zcash та Monero, викликали широку увагу. Однак необхідність конфіденційних транзакцій не стала такою очевидною, як очікувалося в індустрії, і відповідні проекти поступово відійшли на задній план.
У сфері масштабування, з переходом Ethereum 2.0 на маршрутизацію, орієнтовану на rollup, рішення для масштабування на основі zk-SNARKs знову стає в центрі уваги. Основні з них включають:
Розширення мережі на першому рівні: наприклад, проект Mina
Розширення другого рівня мережі: тобто zk-rollup схема
zk-rollup в основному включає дві категорії ролей: Sequencer відповідає за упаковку транзакцій, Aggregator відповідає за об'єднання транзакцій та генерування zk-SNARKs. Ця схема має переваги, такі як низькі витрати та швидка фіналізація, але також стикається з викликами, такими як велике обчислювальне навантаження та потенційні ризики безпеки.
Наразі основні проекти zk-rollup на ринку включають StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll тощо. Ці проекти в технологічному напрямку в основному обирають між SNARK( та його покращеними версіями ) і STARK, а також чи підтримують EVM-сумісність.
Сумісність з EVM завжди була в центрі уваги галузі. Ранні проекти часто вимагали компромісу між ефективністю zk-SNARKs та сумісністю з EVM. За останні кілька років технології швидко еволюціонували, що зробило можливим досягнення гарної сумісності з EVM, забезпечуючи при цьому ефективність zk-SNARKs. Це матиме важливий вплив на екосистему розробки zk-SNARKs та конкурентну ситуацію.
Основні принципи zk-SNARKs
zk-SNARK( zk-SNARKs) є однією з найбільш поширених систем нульових знань. Її основна ідея полягає в перетворенні складних обчислювальних задач на прості поліноміальні задачі, а потім у проведенні доказів і валідації з використанням криптографічних засобів.
Процес реалізації zk-SNARK складається з таких основних етапів:
Перетворіть задачу на арифметичну схему
Перетворення схеми в R1CS(Rank 1 Constraint System) формат
Перетворення R1CS в QAP(Квадратична арифметична програма)форму
Створення довірчих налаштувань, генерація ключа доказу та ключа перевірки
Генерація zk-SNARKs та їх верифікація
Цей процес не тільки гарантує нульову знаність доказу, але й досягає простоти і неінтерактивності, що закладає основу для широкого застосування zk-SNARKs у сфері блокчейну.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
zk-SNARKs: від історичної еволюції до буму zk-rollup
Розвиток та застосування zk-SNARKs
zk-SNARKs історичний розвиток
Сучасна система zk-SNARKs походить з теорії інтерактивних доказів, запропонованої Голдвассером, Мікалі та Ракоффом у 1985 році. Ця теорія досліджує, скільки знань потрібно обмінятися під час взаємодії, щоб довести правильність твердження, і вводить концепцію zk-SNARKs.
Ранні системи zk-SNARKs мали недоліки в ефективності та практичності, переважно залишаючись на теоретичному рівні. Лише за останні десять років, з розвитком криптографії в сфері криптовалют, zk-SNARKs поступово стали важливим напрямком досліджень. Серед них розробка універсальних, неінтерактивних, протоколів zk-SNARKs з обмеженим масштабом доказів стала одним з ключових напрямків досліджень.
Важливий прорив у сфері нульових доказів стався в 2010 році, коли Грот представив коротку парну неінтерактивну нульову доказову теорію, що заклала теоретичну основу для zk-SNARK. У 2015 році нульові докази вперше були застосовані в проекті Zcash для захисту конфіденційності транзакцій. Після цього поєднання zk-SNARK з розумними контрактами ще більше розширило їхні сфери застосування.
У цьому процесі деякі важливі наукові досягнення включають:
Крім того, нові рішення, такі як PLONK, Halo2, також внесли важливі вдосконалення в zk-SNARKs.
zk-SNARKs основні застосування
zk-SNARKs мають широке застосування в обох сферах: захисту конфіденційності та масштабування.
У сфері захисту конфіденційності ранні проекти з конфіденційними транзакціями, такі як Zcash та Monero, викликали широку увагу. Однак необхідність конфіденційних транзакцій не стала такою очевидною, як очікувалося в індустрії, і відповідні проекти поступово відійшли на задній план.
У сфері масштабування, з переходом Ethereum 2.0 на маршрутизацію, орієнтовану на rollup, рішення для масштабування на основі zk-SNARKs знову стає в центрі уваги. Основні з них включають:
zk-rollup в основному включає дві категорії ролей: Sequencer відповідає за упаковку транзакцій, Aggregator відповідає за об'єднання транзакцій та генерування zk-SNARKs. Ця схема має переваги, такі як низькі витрати та швидка фіналізація, але також стикається з викликами, такими як велике обчислювальне навантаження та потенційні ризики безпеки.
Наразі основні проекти zk-rollup на ринку включають StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll тощо. Ці проекти в технологічному напрямку в основному обирають між SNARK( та його покращеними версіями ) і STARK, а також чи підтримують EVM-сумісність.
Сумісність з EVM завжди була в центрі уваги галузі. Ранні проекти часто вимагали компромісу між ефективністю zk-SNARKs та сумісністю з EVM. За останні кілька років технології швидко еволюціонували, що зробило можливим досягнення гарної сумісності з EVM, забезпечуючи при цьому ефективність zk-SNARKs. Це матиме важливий вплив на екосистему розробки zk-SNARKs та конкурентну ситуацію.
Основні принципи zk-SNARKs
zk-SNARK( zk-SNARKs) є однією з найбільш поширених систем нульових знань. Її основна ідея полягає в перетворенні складних обчислювальних задач на прості поліноміальні задачі, а потім у проведенні доказів і валідації з використанням криптографічних засобів.
Процес реалізації zk-SNARK складається з таких основних етапів:
Цей процес не тільки гарантує нульову знаність доказу, але й досягає простоти і неінтерактивності, що закладає основу для широкого застосування zk-SNARKs у сфері блокчейну.