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