Сучасна концепція системи нульових доказів походить з роботи, написаної Goldwasser, Micali та Rackoff у 1985 році. У цій роботі обговорюється, яку кількість знань необхідно обміняти під час обмеженої кількості взаємодій для підтвердження правильності твердження в інтерактивних системах. Якщо можна реалізувати обмін нульових знань, це називається нульовим доказом.
Ранні системи zk-SNARKs не мали практичності, головним чином залишаючись на теоретичному рівні. Протягом останнього десятиліття, з розвитком криптографії в галузі криптовалют, zk-SNARKs поступово стали важливим напрямком. Серед них розробка загальних, неінтерактивних і з обмеженим обсягом доказів протоколів zk-SNARKs є одним з ключових напрямків дослідження.
Важливим проривом у нульових знаннях стало дослідження, опубліковане Гротом у 2010 році, яке заклало теоретичну основу для zk-SNARKs. На рівні застосування, у 2015 році система нульових знань, яка була впроваджена Zcash, забезпечила захист приватності транзакцій, відкривши більш широкі можливості для застосування нульових знань.
Після цього з'явилася низка важливих академічних досягнень:
Протокол Pinocchio 2013 року стиснув час доказування та верифікації
У 2016 році Groth16 спростив масштаб доказу та підвищив ефективність перевірки
У 2017 році Bulletproofs запропонував короткий алгоритм доказів без потреби в надійних налаштуваннях.
У 2018 році були представлені протоколи zk-STARKs, які мають постквантову безпеку.
Крім того, досягнення таких технологій, як PLONK і Halo2, також покращили zk-SNARKs.
Два. Основні застосування zk-SNARKs
Найбільш поширеними двома застосуваннями zk-SNARKs є захист приватності та масштабування.
У сфері захисту приватності представницькі проекти включають Zcash, Monero тощо. Наприклад, Zcash використовує zk-SNARKs для реалізації приватних транзакцій, що включає: налаштування системи, генерування ключів, карбування, переказ, верифікацію та отримання тощо. Однак у Zcash все ще є деякі обмеження, такі як модель UTXO, складність масштабування тощо.
У контексті масштабування ZK Rollup є важливим застосуванням. ZK Rollup включає два типи ролей: Sequencer відповідає за упаковку транзакцій, а Aggregator відповідає за об'єднання великої кількості транзакцій і створення доказу. Переваги ZK Rollup полягають у низьких витратах, швидкій остаточності тощо, але також існують недоліки, такі як велика обчислювальна складність та потенційні проблеми з безпекою.
На сьогоднішній день основними проектами ZK Rollup на ринку є StarkNet, zkSync, Aztec Connect, Polygon Hermez тощо. Ці проекти в технічному плані в основному обирають між SNARK та STARK, а також визначають рівень підтримки EVM.
Три. Основні принципи ZK-SNARK
ZK-SNARK (zk-SNARKs) має такі характеристики:
zk-SNARKs: процес доказування не розкриває додаткову інформацію
Простота: маленький обсяг перевірки
Невзаємодійний: не потрібно багаторазових взаємодій
Надійність: обмежений здатний доказувач не може підробити
Знання: доводчик повинен знати дійсну інформацію
Наприклад, на прикладі Groth16, принципи доказу ZK-SNARKs включають:
Перетворіть задачу на електричну схему
Перетворення електричної схеми у форму R1CS
Перетворення R1CS у форму QAP
Створення довіреної конфігурації, генерація ключа доказу та ключа перевірки
Генерація та перевірка zk-SNARKs доказів
ZK-SNARKs заклали основу для широкого застосування нульових доказів, але все ще існують деякі обмеження. У майбутньому ще потрібно подальше оптимізувати та вдосконалити, щоб відповідати потребам більшої кількості сценаріїв застосування.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Історія розвитку zk-SNARKs: від теорії до застосування ZK Rollup
Розвиток та застосування zk-SNARKs
Одне, історія розвитку zk-SNARKs
Сучасна концепція системи нульових доказів походить з роботи, написаної Goldwasser, Micali та Rackoff у 1985 році. У цій роботі обговорюється, яку кількість знань необхідно обміняти під час обмеженої кількості взаємодій для підтвердження правильності твердження в інтерактивних системах. Якщо можна реалізувати обмін нульових знань, це називається нульовим доказом.
Ранні системи zk-SNARKs не мали практичності, головним чином залишаючись на теоретичному рівні. Протягом останнього десятиліття, з розвитком криптографії в галузі криптовалют, zk-SNARKs поступово стали важливим напрямком. Серед них розробка загальних, неінтерактивних і з обмеженим обсягом доказів протоколів zk-SNARKs є одним з ключових напрямків дослідження.
Важливим проривом у нульових знаннях стало дослідження, опубліковане Гротом у 2010 році, яке заклало теоретичну основу для zk-SNARKs. На рівні застосування, у 2015 році система нульових знань, яка була впроваджена Zcash, забезпечила захист приватності транзакцій, відкривши більш широкі можливості для застосування нульових знань.
Після цього з'явилася низка важливих академічних досягнень:
Крім того, досягнення таких технологій, як PLONK і Halo2, також покращили zk-SNARKs.
Два. Основні застосування zk-SNARKs
Найбільш поширеними двома застосуваннями zk-SNARKs є захист приватності та масштабування.
У сфері захисту приватності представницькі проекти включають Zcash, Monero тощо. Наприклад, Zcash використовує zk-SNARKs для реалізації приватних транзакцій, що включає: налаштування системи, генерування ключів, карбування, переказ, верифікацію та отримання тощо. Однак у Zcash все ще є деякі обмеження, такі як модель UTXO, складність масштабування тощо.
У контексті масштабування ZK Rollup є важливим застосуванням. ZK Rollup включає два типи ролей: Sequencer відповідає за упаковку транзакцій, а Aggregator відповідає за об'єднання великої кількості транзакцій і створення доказу. Переваги ZK Rollup полягають у низьких витратах, швидкій остаточності тощо, але також існують недоліки, такі як велика обчислювальна складність та потенційні проблеми з безпекою.
На сьогоднішній день основними проектами ZK Rollup на ринку є StarkNet, zkSync, Aztec Connect, Polygon Hermez тощо. Ці проекти в технічному плані в основному обирають між SNARK та STARK, а також визначають рівень підтримки EVM.
Три. Основні принципи ZK-SNARK
ZK-SNARK (zk-SNARKs) має такі характеристики:
Наприклад, на прикладі Groth16, принципи доказу ZK-SNARKs включають:
ZK-SNARKs заклали основу для широкого застосування нульових доказів, але все ще існують деякі обмеження. У майбутньому ще потрібно подальше оптимізувати та вдосконалити, щоб відповідати потребам більшої кількості сценаріїв застосування.