zk-SNARKs(ZKP) як гаряча технологія в індустрії блокчейн, швидко розвивалася в останні роки. У цій статті буде розглянуто історію розвитку ZKP, обговорено їх основні принципи та основні застосування, щоб допомогти читачам розібратися в цій складній області.
Один. Розвиток zk-SNARKs
Сучасна система zk-SNARKs виникла з роботи, написаної у 1985 році Голдвасером, Мікалі та Ракоффом. У цій праці обговорюється, як у інтерактивних системах через багаторазову взаємодію доводити правильність твердження, не розкриваючи додаткову інформацію. Хоча ця інтерактивна система є ймовірно правильною, вона не є досконалою.
Поява неінтерактивних систем (NP) зробила zk-SNARKs більш досконалими. Однак ранні системи zk-SNARKs все ще мали недоліки в ефективності та зручності використання, в основному залишаючись на теоретичному рівні. Лише в останнє десятиліття, з ростом криптографії в сфері криптовалют, zk-SNARKs справді увійшли в практичну стадію.
Стаття Грота 2010 року заклала теоретичну основу для zk-SNARKs і стала важливою віхою у розвитку ZKP. У 2015 році, приватна валюта Z-cash вперше застосувала нульові знання для захисту конфіденційності транзакцій, відкривши шлях для широкого використання ZKP.
Після цього ряд академічних досягнень сприяв розвитку zk-SNARKs:
У 2013 році протокол Pinocchio стиснув час доказування та перевірки
У 2016 році Groth16 спростив розмір доказу та підвищив ефективність верифікації
У 2017 році Bulletproofs були представлені як компактні неінтерактивні zk-SNARKs.
У 2018 році zk-STARKs реалізували ZKP-протокол без потреби в надійному налаштуванні
Інші технології, такі як PLONK, Halo2 та інші, також внесли важливі покращення в zk-SNARKs.
Два, основні застосування zk-SNARKs
Два найпоширеніших застосування ZKP наразі — це захист конфіденційності та масштабування.
Захист конфіденційності
Ранні проекти приватних транзакцій, такі як Z-cash та Monero, сприяли застосуванню ZKP у сфері захисту приватності. Наприклад, Z-cash використовує zk-SNARKs для реалізації приватності транзакцій:
Стадія налаштування системи для генерації ключів доказу та ключів перевірки
Генерація нової монети та запис публічної адреси і зобов'язання монети
Генерація zk-SNARKs доказів
Валідатори перевіряють правильність транзакцій
Отримувач отримує монету, у разі потреби повторює вказані вище кроки.
Однак, рівень використання приватних транзакцій проектів, таких як Z-cash, є низьким, що свідчить про те, що потреба в приватності не відповідає очікуванням. На відміну від цього, Tornado Cash використовує єдиний великий пул змішування монет, що є більш універсальним.
розширення
ZKP в розширенні застосовується в основному як zk-rollup. У zk-rollup є два типи ролей:
Sequencer: відповідає за упаковку транзакцій
Aggregator: об'єднує велику кількість транзакцій та генерує zk-SNARKs
Переваги zk-rollup полягають у низьких витратах, швидкості транзакцій та можливості захисту конфіденційності. Але також існують недоліки, такі як велика обчислювальна складність та необхідність у надійних налаштуваннях.
На сьогоднішній день основні проекти zk-rollup включають StarkNet, zkSync, Aztec, Polygon Hermez та інші. У технічній стратегії основна увага приділяється вибору між SNARK та STARK, а також питанню підтримки EVM.
Сумісність з EVM є важливою проблемою. Деякі проекти вибирають повну сумісність з операційними кодами Solidity, інші ж розробляють нові віртуальні машини, сумісні з Solidity. Підвищення сумісності з EVM вплине на екосистему розробки ZK та конкурентну ситуацію.
Три, основні принципи zk-SNARKs
zk-SNARKs є одним з найбільш поширених рішень ZKP на сьогодні. Він має такі характеристики:
Zero Knowledge: процес доказу не розкриває додаткової інформації
Стислість: обсяг доказу малий
Непрямий:非交互式
Аргументи: мають обчислювальну надійність
Знання: доказник повинен знати дійсну інформацію
Основні етапи реалізації zk-SNARK:
Перетворіть проблему на схему
Перетворення електричної схеми у форму R1CS
Перетворення R1CS у форму QAP
Генерація випадкових параметрів для надійних налаштувань
Генерація та перевірка zk-SNARKs доказів
zk-SNARKs як передова технологія швидко розвивається як на теоретичному, так і на прикладному рівнях. З появою все більше проектів, ZKP має потенціал зіграти більш значну роль у сфері блокчейн.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
17 лайків
Нагородити
17
6
Поділіться
Прокоментувати
0/400
SelfStaking
· 20год тому
Не можу, не хочу вчитись, занадто складно.
Переглянути оригіналвідповісти на0
SoliditySlayer
· 20год тому
Ця теорія трохи нудна, чи не так? Я навіть втомився дивитися на підлогу.
zk-SNARKs ZKP: розвиток та застосування від теоретичних проривів до практичного впровадження
zk-SNARKs: від теорії до практики розвитку
zk-SNARKs(ZKP) як гаряча технологія в індустрії блокчейн, швидко розвивалася в останні роки. У цій статті буде розглянуто історію розвитку ZKP, обговорено їх основні принципи та основні застосування, щоб допомогти читачам розібратися в цій складній області.
Один. Розвиток zk-SNARKs
Сучасна система zk-SNARKs виникла з роботи, написаної у 1985 році Голдвасером, Мікалі та Ракоффом. У цій праці обговорюється, як у інтерактивних системах через багаторазову взаємодію доводити правильність твердження, не розкриваючи додаткову інформацію. Хоча ця інтерактивна система є ймовірно правильною, вона не є досконалою.
Поява неінтерактивних систем (NP) зробила zk-SNARKs більш досконалими. Однак ранні системи zk-SNARKs все ще мали недоліки в ефективності та зручності використання, в основному залишаючись на теоретичному рівні. Лише в останнє десятиліття, з ростом криптографії в сфері криптовалют, zk-SNARKs справді увійшли в практичну стадію.
Стаття Грота 2010 року заклала теоретичну основу для zk-SNARKs і стала важливою віхою у розвитку ZKP. У 2015 році, приватна валюта Z-cash вперше застосувала нульові знання для захисту конфіденційності транзакцій, відкривши шлях для широкого використання ZKP.
Після цього ряд академічних досягнень сприяв розвитку zk-SNARKs:
Інші технології, такі як PLONK, Halo2 та інші, також внесли важливі покращення в zk-SNARKs.
Два, основні застосування zk-SNARKs
Два найпоширеніших застосування ZKP наразі — це захист конфіденційності та масштабування.
Захист конфіденційності
Ранні проекти приватних транзакцій, такі як Z-cash та Monero, сприяли застосуванню ZKP у сфері захисту приватності. Наприклад, Z-cash використовує zk-SNARKs для реалізації приватності транзакцій:
Однак, рівень використання приватних транзакцій проектів, таких як Z-cash, є низьким, що свідчить про те, що потреба в приватності не відповідає очікуванням. На відміну від цього, Tornado Cash використовує єдиний великий пул змішування монет, що є більш універсальним.
розширення
ZKP в розширенні застосовується в основному як zk-rollup. У zk-rollup є два типи ролей:
Переваги zk-rollup полягають у низьких витратах, швидкості транзакцій та можливості захисту конфіденційності. Але також існують недоліки, такі як велика обчислювальна складність та необхідність у надійних налаштуваннях.
На сьогоднішній день основні проекти zk-rollup включають StarkNet, zkSync, Aztec, Polygon Hermez та інші. У технічній стратегії основна увага приділяється вибору між SNARK та STARK, а також питанню підтримки EVM.
Сумісність з EVM є важливою проблемою. Деякі проекти вибирають повну сумісність з операційними кодами Solidity, інші ж розробляють нові віртуальні машини, сумісні з Solidity. Підвищення сумісності з EVM вплине на екосистему розробки ZK та конкурентну ситуацію.
Три, основні принципи zk-SNARKs
zk-SNARKs є одним з найбільш поширених рішень ZKP на сьогодні. Він має такі характеристики:
Основні етапи реалізації zk-SNARK:
zk-SNARKs як передова технологія швидко розвивається як на теоретичному, так і на прикладному рівнях. З появою все більше проектів, ZKP має потенціал зіграти більш значну роль у сфері блокчейн.