zk-SNARKs: базові принципи та галузеві застосування
Од. Розвиток zk-SNARKs
Сучасна система zk-SNARKs виникла з новаторської роботи Goldwasser, Micali та Rackoff 1985 року. У цій роботі розглядається обсяг знань, який необхідно обміняти при багаторазовій взаємодії для доведення правильності твердження в інтерактивних системах. Якщо доведення можна завершити без обміну будь-якими знаннями, це називається нульовим знанням. Хоча ця інтерактивна система є правильною в ймовірнісному сенсі, вона не є ідеальною.
Поява неінтерактивних систем (NP) зробила zk-SNARKs більш досконалими. Однак ранні системи zk-SNARKs мали недоліки в ефективності та практичності, залишаючись лише на теоретичному рівні. Лише за останнє десятиліття, з підйомом криптографії в сфері криптовалют, zk-SNARKs справді почали використовуватися.
Однією з ключових цілей нульових знань є розробка універсального, неінтерактивного протоколу з обмеженим обсягом доказів. Це вимагає компромісу між швидкістю доказу, швидкістю перевірки та обсягом доказу.
Стаття Грота 2010 року є одним з найбільших досягнень у сфері zk-SNARKs, закладаючи теоретичну основу для них. У 2015 році Zcash застосував zk-SNARKs для захисту приватності транзакцій, відкривши нову еру поєднання zk-SNARKs із смарт-контрактами.
Інші важливі наукові досягнення включають: протокол Pinocchio 2013 року, алгоритм Groth16 2016 року, алгоритм Bulletproofs 2017 року, протокол zk-STARKs 2018 року тощо. Ці дослідження сприяли постійному прогресу zk-SNARKs у ефективності та сфері застосування.
Два. Основні застосування zk-SNARKs
zk-SNARKs наразі найбільш широко використовуються в двох основних сферах: захисту приватності та масштабування.
З точки зору захисту конфіденційності, ранні представницькі проекти включають Zcash і Monero. Хоча потреба в приватних транзакціях не така помітна, як очікувалося, ці типи програм продовжують зростати.
У контексті масштабування, з переходом Ethereum на масштабування зосереджене на rollup, рішення для масштабування на основі zk-SNARKs знову стають предметом уваги. Існує два основних способи реалізації: масштабування на першому рівні (, як Mina ), та масштабування на другому рівні (, тобто zk-rollup ).
Основні ролі zk-rollup включають Sequencer та Aggregator. Sequencer відповідає за упаковку транзакцій, Aggregator об'єднує велику кількість транзакцій та генерує zk-SNARKs для оновлення стану головного ланцюга.
Переваги zk-rollup полягають у низьких витратах, швидкій фіналізації та захисті конфіденційності. Але існують також виклики, такі як велике обчислювальне навантаження та необхідність у надійних налаштуваннях.
На сьогодні основними проектами zk-rollup на ринку є StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll тощо. Ці проекти у своїй технологічній стратегії в основному вибирають між SNARK( та його покращеними версіями ) і STARK, а також рівнем підтримки EVM.
EVM-сумісність є важливою проблемою. Деякі проекти обирають повну сумісність з операційними кодами Solidity, інші ж розробляють нові віртуальні машини, щоб поєднати дружність до ZK та сумісність з Solidity. Останніми роками швидкий прогрес у EVM-сумісності обіцяє безшовну міграцію розробників з основної лінії Ethereum до zk-rollup.
Три, основні принципи zk-SNARKs
zk-SNARKs є абревіатурою для zero-knowledge Succinct Non-interactive ARguments of Knowledge і має такі характеристики:
Zero Knowledge: процес доведення не розкриває зайвої інформації
Стислість: обсяг перевірки малий
Неперервний:非交互式
Аргументи: обчислювальна надійність
знання: доводчик повинен знати дійсну інформацію
Процес підтвердження zk-SNARKs Groth16 в основному включає:
Перетворіть задачу на електричну схему
Перетворіть схему в форму R1CS
Перетворення R1CS у форму QAP
Створення надійних налаштувань, генерація ключа доказу та ключа перевірки
Генерація та перевірка zk-SNARKs доказів
Технологія zk-SNARKs швидко розвивається і в майбутньому має потенціал відігравати важливу роль у багатьох сферах.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
zk-SNARKs: від теоретичного прориву до революційної технології застосування в Криптоактиви
zk-SNARKs: базові принципи та галузеві застосування
Од. Розвиток zk-SNARKs
Сучасна система zk-SNARKs виникла з новаторської роботи Goldwasser, Micali та Rackoff 1985 року. У цій роботі розглядається обсяг знань, який необхідно обміняти при багаторазовій взаємодії для доведення правильності твердження в інтерактивних системах. Якщо доведення можна завершити без обміну будь-якими знаннями, це називається нульовим знанням. Хоча ця інтерактивна система є правильною в ймовірнісному сенсі, вона не є ідеальною.
Поява неінтерактивних систем (NP) зробила zk-SNARKs більш досконалими. Однак ранні системи zk-SNARKs мали недоліки в ефективності та практичності, залишаючись лише на теоретичному рівні. Лише за останнє десятиліття, з підйомом криптографії в сфері криптовалют, zk-SNARKs справді почали використовуватися.
Однією з ключових цілей нульових знань є розробка універсального, неінтерактивного протоколу з обмеженим обсягом доказів. Це вимагає компромісу між швидкістю доказу, швидкістю перевірки та обсягом доказу.
Стаття Грота 2010 року є одним з найбільших досягнень у сфері zk-SNARKs, закладаючи теоретичну основу для них. У 2015 році Zcash застосував zk-SNARKs для захисту приватності транзакцій, відкривши нову еру поєднання zk-SNARKs із смарт-контрактами.
Інші важливі наукові досягнення включають: протокол Pinocchio 2013 року, алгоритм Groth16 2016 року, алгоритм Bulletproofs 2017 року, протокол zk-STARKs 2018 року тощо. Ці дослідження сприяли постійному прогресу zk-SNARKs у ефективності та сфері застосування.
Два. Основні застосування zk-SNARKs
zk-SNARKs наразі найбільш широко використовуються в двох основних сферах: захисту приватності та масштабування.
З точки зору захисту конфіденційності, ранні представницькі проекти включають Zcash і Monero. Хоча потреба в приватних транзакціях не така помітна, як очікувалося, ці типи програм продовжують зростати.
У контексті масштабування, з переходом Ethereum на масштабування зосереджене на rollup, рішення для масштабування на основі zk-SNARKs знову стають предметом уваги. Існує два основних способи реалізації: масштабування на першому рівні (, як Mina ), та масштабування на другому рівні (, тобто zk-rollup ).
Основні ролі zk-rollup включають Sequencer та Aggregator. Sequencer відповідає за упаковку транзакцій, Aggregator об'єднує велику кількість транзакцій та генерує zk-SNARKs для оновлення стану головного ланцюга.
Переваги zk-rollup полягають у низьких витратах, швидкій фіналізації та захисті конфіденційності. Але існують також виклики, такі як велике обчислювальне навантаження та необхідність у надійних налаштуваннях.
На сьогодні основними проектами zk-rollup на ринку є StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll тощо. Ці проекти у своїй технологічній стратегії в основному вибирають між SNARK( та його покращеними версіями ) і STARK, а також рівнем підтримки EVM.
EVM-сумісність є важливою проблемою. Деякі проекти обирають повну сумісність з операційними кодами Solidity, інші ж розробляють нові віртуальні машини, щоб поєднати дружність до ZK та сумісність з Solidity. Останніми роками швидкий прогрес у EVM-сумісності обіцяє безшовну міграцію розробників з основної лінії Ethereum до zk-rollup.
Три, основні принципи zk-SNARKs
zk-SNARKs є абревіатурою для zero-knowledge Succinct Non-interactive ARguments of Knowledge і має такі характеристики:
Процес підтвердження zk-SNARKs Groth16 в основному включає:
Технологія zk-SNARKs швидко розвивається і в майбутньому має потенціал відігравати важливу роль у багатьох сферах.