Zero-Knowledge Proof (ZKP) — це криптографічна технологія, яка вперше була представлена в статті під назвою «Складність знань інтерактивних систем доказу» на початку 1980-х років С.Голдвассером, С.Мікалі та К.Ракоффом. Спочатку задумана як теоретична модель, вона мала на меті вирішити проблему перевірки математичних тверджень без виявлення будь-яких доказів. Ця концепція привернула широку увагу в академічному світі через те, що вона порушила межі традиційних методів шифрування та запропонувала новий підхід до обробки конфіденційної інформації.
З часом ZKP перетворився з абстрактної теоретичної концепції в конкретні протоколи, які можна інтегрувати в різні програми. На початку 21 століття, з вибуховим розвитком Інтернету та цифрових комунікацій, потенціал ZKP почав досліджуватися в реальному світі. Зокрема, з появою блокчейну та криптовалют ZKP продемонструвала свою здатність покращувати конфіденційність і безпеку, зберігаючи при цьому ефективність транзакцій і обробки даних.
Сьогодні ZKP є не тільки гарячою темою в криптографічних дослідженнях, але також інтегрована в численні платформи та додатки блокчейн. Наприклад, програма zk-SNARKs на Ethereum Layer2 пропонує анонімні транзакції без розкриття деталей транзакцій. Цей перехід від теорії до практичного застосування не тільки доводить практичну цінність ZKP, але й спонукає до дослідження більш ефективних і безпечних цифрових взаємодій. З постійним технологічним прогресом ZKP відіграє все більш важливу роль у захисті особистої конфіденційності, забезпеченні безпеки даних і створенні надійних цифрових систем.
Zero-Knowledge Proof (ZKP) — це метод шифрування, який дозволяє одній стороні (доказу) доводити правильність твердження іншій стороні (верифікатору) без розкриття будь-якої додаткової інформації, тобто без розкриття будь-яких знань, на основі яких правильність заява залежить. Цей процес не тільки захищає конфіденційність перевірювача, але й гарантує, що верифікатор не зможе відтворити процес перевірки або використовувати його для отримання додаткової інформації.
Концептуальна діаграма доказів нульового знання (Джерело: ChainLink)
Основні принципи доказів із нульовим знанням (ZKP) можна визначити за такими трьома атрибутами:
Принцип ЗКП часто розуміють на простих прикладах: якщо мені потрібно довести особі А, що я маю номер телефону особи Б, мені не потрібно безпосередньо відкривати номер Б А. Натомість я можу це довести, зателефонувавши за номером Б. . Коли дзвінок з’єднується, це демонструє, що я справді володію номером B, не розкриваючи жодної інформації про сам номер.
У практичних застосуваннях ZKP зазвичай вимагає складних математичних конструкцій, таких як поліноміальні рівняння, еліптичні криві або інші математичні завдання. Безпека цих конструкцій базується на обчислювальній складності таких задач, як розкладання на множники або дискретні логарифми. З розвитком криптографії з’явилися різні реалізації ZKP, такі як zk-SNARK і zk-STARK, які пропонують ефективний захист конфіденційності в різних контекстах, особливо в сферах блокчейну та криптовалют.
Основна форма доказу з нульовим знанням складається з трьох елементів: свідок, оскарження та відповідь.
Свідок: у доказі з нульовим знанням той, хто доводить, хоче продемонструвати знання деякої прихованої інформації. Ця секретна інформація є «свідком» доказу. Провідник, ґрунтуючись на своїх знаннях про свідка, ставить набір запитань, на які може відповісти лише той, хто володіє інформацією. Таким чином, перевіряльник випадковим чином вибирає питання для початку перевірки, обчислює відповідь, а потім надсилає її верифікатору.
Завдання: Верифікатор випадковим чином вибирає інше запитання з набору та просить перевіряючого відповісти на нього.
Відповідь: перевіряльник отримує запитання, обчислює відповідь і надсилає її верифікатору. Відповідь перевіряючого дозволяє верифікатору перевірити, чи дійсно він має доступ до свідка. Щоб переконатися, що перевіряльник не просто випадково вгадує правильно, верифікатор вибирає інше запитання для запиту. Повторюючи цей процес кілька разів, ймовірність того, що прувер сфабрикує правду, значно зменшується, доки верифікатор не буде задоволений.
У вищезгаданому прикладі телефонної розмови «Я» — свідок, який не бажає розкривати інформацію, тоді як А — перевіряючий, а поставлене завдання — «Доведіть, що «Я» маю номер Б». Процес відповіді передбачає, що «я» підключаю дзвінок до номера B, щоб довести, що він у мене справді є.
Як обговорювалося раніше, підтвердження з нульовим знанням (ZKP) за своєю суттю пропонують значні переваги у сфері захисту конфіденційності. У сучасну еру інформаційного перевантаження особисті дані часто зберігаються на сторонніх платформах, що збільшує ризик витоку даних. Крім того, через технічні бар’єри та відставання правових санкцій інформаційна безпека значною мірою залежить від етичних обмежень, що ускладнює користувачам справді контролювати свою особисту інформацію. Поява технології ZKP забезпечує рішення, яке одночасно захищає конфіденційність і підвищує ефективність перевірки та безпеку.
Порівняно з іншими технологіями шифрування ЗКП має ряд переваг:
Чи то в традиційному Web 2.0, чи в новому домені Web 3.0, перспективи застосування ZKP є широкими.
Існує кілька реалізацій доказів з нульовим знанням, таких як zk-SNARK, zk-STARK, PLONK і Bulletproofs. Кожен тип має свої переваги та недоліки щодо розміру перевірки, часу перевірки та часу перевірки. Ця стаття зосереджена на представленні чотирьох типів, які найчастіше використовуються в прикладних сценаріях.
zk-SNARK, що означає «стислий неінтерактивний аргумент знання з нульовим знанням», — це криптографічні інструменти, які використовуються для підтвердження того, що хтось знає певну інформацію, не розкриваючи її. У zk-SNARK «нульовий рівень знань» означає, що перевіряючий може довести, що твердження є істинним, не надаючи жодної інформації, окрім його правильності. «Стислість» означає невеликий розмір доказу та швидкість процесу перевірки. «Неінтерактивний» означає, що після створення доказу його може перевірити будь-хто без подальшої взаємодії між перевірячем і верифікатором. Основні компоненти zk-SNARK включають:
zk-SNARK використовуються в різних сценаріях збереження конфіденційності, таких як криптовалюти з анонімними транзакціями, безпечні системи голосування, автентифікація та обмін даними, що зберігають конфіденційність, і технології масштабованості блокчейну.
zk-STARK, або «масштабовані прозорі аргументи знань з нульовим знанням», дозволяють одній стороні (доказу) довести іншій (верифікатору), що вони знають певну інформацію, не розкриваючи саму інформацію. На відміну від zk-SNARK, zk-STARK не вимагає довіреного процесу налаштування. Це означає, що вони не покладаються на конфіденційність певної приватної інформації, яка часто вважається важливою для безпеки, оскільки надійне налаштування може бути системною вразливістю.
zk-STARKs працюють на основі концепцій з кількох математичних областей, включаючи хеш-функції, поліноміальні обчислення та теорію виправлення помилок. Вони використовують конструкцію, відому як «масштабований прозорий аргумент із нульовим знанням», що дозволяє генерувати докази без довіреної установки. Потенційні програми zk-STARK подібні до програм zk-SNARK, але завдяки своїй масштабованості та прозорості вони особливо підходять для великомасштабних програм, включаючи криптовалюти, що зберігають конфіденційність, технології масштабованості блокчейну та безпечну перевірку в хмарних обчисленнях. .
PLONK, а не абревіатура, відноситься до прізвищ його творців. Він розроблений, щоб забезпечити універсальне та ефективне рішення ZKP, особливо в блокчейн-додатках, таких як смарт-контракти та транзакції, захищені конфіденційністю. Основою PLONK є використання техніки «гомоморфного приховування», що дозволяє виконувати арифметичні операції з даними без розкриття вихідних даних. Він використовує спеціальний алгоритм – поліноміальну схему зобов’язань – для створення доказів, що дозволяє перевіряльникам ефективно доводити, що вони мають правильні результати обчислень для набору даних.
Однією з ключових особливостей PLONK є його універсальність. Після встановлення параметрів для конкретного обчислювального завдання (через одноразове довірене налаштування) їх можна багаторазово використовувати для створення нових доказів, не потребуючи щоразу нових налаштувань. Це робить PLONK високоефективним у створенні та перевірці доказів і часто призначений для підтримки різноманітних обчислювальних завдань у блокчейні та інших розподілених системах.
Bulletproofs, нещодавно представлене рішення ZKP, не вимагає довіреного налаштування та спеціально розроблено для побудови доказів діапазону та певних типів арифметичних доказів. Запропонований Бенедиктом Бунцем, Джонатаном Бутлом, Деном Боне та іншими у 2017 році, Bulletproofs оперує складними математичними конструкціями, такими як гомоморфне шифрування та криптографія на основі еліптичної кривої. Вони використовують низку математичних методів, щоб дозволити перевіряльникам створити ефективне підтвердження діапазону для числа, не розкриваючи його точне значення. Особливо в сфері криптовалют це можна використовувати, щоб довести, що вартість транзакцій знаходиться в межах дозволеного діапазону, не розкриваючи фактичні суми транзакцій.
Завдяки своїй функції захисту від дальності Bulletproofs широко використовуються в сферах криптовалют і блокчейнів, зокрема в монетах конфіденційності, таких як Monero, щоб приховати суми транзакцій, одночасно перевіряючи легітимність транзакцій. Крім того, їх можна використовувати в інших програмах, де необхідна цифрова конфіденційність.
Давайте краще зрозуміємо ці чотири різні технології Zero-Knowledge Proof (ZKP) — zk-SNARK, zk-STARK, PLONK і Bulletproofs — через аналогію з картою скарбів.
Уявіть, що у вас є карта скарбів, яка веде до точного розташування закопаного скарбу. Ви хочете довести комусь, що знаєте, де знаходиться скарб, не розкриваючи вміст карти чи фактичне місцезнаходження скарбу.
zk-SNARKs: ви створюєте складну головоломку з карти скарбів. Ви вибираєте невелику ключову частину цієї головоломки (доказ) і показуєте її іншій стороні, щоб переконати її, що ви знаєте, як зібрати повну головоломку, тобто місцезнаходження скарбу, не відкриваючи всю головоломку. Однак для цього вам знадобляться спеціальні маркери від перевіреної друкарні, щоб підтвердити, що ваш пазл справжній.
zk-STARKs: Ви показуєте частину карти скарбів іншій стороні, кажучи їм, що вони можуть використовувати спеціальне збільшувальне скло (алгоритм перевірки), щоб випадково перевірити деталі карти, щоб переконатися, що вона справді вказує на скарб, без необхідності знати точне місцезнаходження скарбу. Це збільшувальне скло настільки потужне, що навіть технології майбутнього (квантові комп’ютери) не зможуть розгадати секрет вашої карти скарбів.
ПЛОНК: цього разу ви створюєте набір загадок, кожна з яких вказує на місцезнаходження скарбу. Ви надаєте іншій стороні універсальний метод перевірки вирішення цих загадок (універсальна установка), достатній для того, щоб вони повірили, що ви знаєте всі відповіді, не розгадуючи кожну загадку окремо.
Bulletproofs: Ви вирішуєте довести, що знаєте приблизне розташування скарбу, не розкриваючи його точного розташування. Ви пропонуєте серію розв’язків математичних завдань, які демонструють діапазон розташування скарбу. Ваш метод не потребує жодних спеціальних маркерів чи техніки друку, тобто не вимагає початкової довіри.
У цій аналогії:
Кожен метод має свої компроміси в практичних застосуваннях, і вибір залежить від конкретного сценарію застосування та потреб безпеки.
Перш ніж порівнювати, потрібно зрозуміти критерії оцінки ЗКП:
Тепер давайте порівняємо zk-SNARK, zk-STARK, PLONK і Bulletproofs на основі цих показників і обговоримо їхні переваги та недоліки.
плюси
мінуси
плюси
мінуси
плюси
мінуси
плюси
мінуси
У Web3 є багато випадків застосування ЗКП, і ми вибрали для дослідження два типові випадки.
zk-Rollups — це рішення рівня 2, яке об’єднує сотні чи тисячі транзакцій поза мережею та створює підтвердження zk-SNARK. Це підтвердження разом із даними про транзакції надсилається до основного ланцюга Ethereum. Це дозволяє перевіряти транзакції без основного ланцюга, що обробляє кожну транзакцію, тим самим зменшуючи комісії та збільшуючи пропускну здатність. zk-Sync Era та Starknet застосували технологію zk-rollup, а Polygon нещодавно представила Polygon zk-EVM з використанням zk-rollups.
Демонстрація застосування zk-SNARK на рівні 2 (Джерело: Саймон Браун)
Підтвердження біржового резерву означає перевірку балансів, що зберігаються на криптовалютних біржах або інших фінансових установах, щоб переконатися, що зареєстровані активи відповідають фактичним активам. Спочатку біржі використовували дерева Merkle та сторонні аудиторські фірми для цієї перевірки, але цей процес покладався на треті сторони та міг призвести до витоку приватних даних користувачів, таких як баланс рахунків. Такі біржі, як Gate.io, тепер використовують технологію zk-SNARKs для підтвердження резерву, шифрування даних користувачів і отримання номерів активів користувачів через канали zk-SNARK, таким чином видаючи повні звіти підтвердження резерву.
Різноманітні рішення технології з нульовими знаннями підкреслюють її потужний потенціал у Web3. Від захисту конфіденційності даних до масштабування блокчейну, ZKP важливий для створення безпечної та ефективної інфраструктури Web3. Хоча різні підходи мають свої переваги та обмеження, разом вони вказують на більш надійне та захищене конфіденційністю цифрове майбутнє. У міру розвитку технологій проблеми з оптимізацією продуктивності та безпеки за допомогою ZKP поступово будуть подолані, що вказує на його дедалі важливішу роль у цифровому світі.
Zero-Knowledge Proof (ZKP) — це криптографічна технологія, яка вперше була представлена в статті під назвою «Складність знань інтерактивних систем доказу» на початку 1980-х років С.Голдвассером, С.Мікалі та К.Ракоффом. Спочатку задумана як теоретична модель, вона мала на меті вирішити проблему перевірки математичних тверджень без виявлення будь-яких доказів. Ця концепція привернула широку увагу в академічному світі через те, що вона порушила межі традиційних методів шифрування та запропонувала новий підхід до обробки конфіденційної інформації.
З часом ZKP перетворився з абстрактної теоретичної концепції в конкретні протоколи, які можна інтегрувати в різні програми. На початку 21 століття, з вибуховим розвитком Інтернету та цифрових комунікацій, потенціал ZKP почав досліджуватися в реальному світі. Зокрема, з появою блокчейну та криптовалют ZKP продемонструвала свою здатність покращувати конфіденційність і безпеку, зберігаючи при цьому ефективність транзакцій і обробки даних.
Сьогодні ZKP є не тільки гарячою темою в криптографічних дослідженнях, але також інтегрована в численні платформи та додатки блокчейн. Наприклад, програма zk-SNARKs на Ethereum Layer2 пропонує анонімні транзакції без розкриття деталей транзакцій. Цей перехід від теорії до практичного застосування не тільки доводить практичну цінність ZKP, але й спонукає до дослідження більш ефективних і безпечних цифрових взаємодій. З постійним технологічним прогресом ZKP відіграє все більш важливу роль у захисті особистої конфіденційності, забезпеченні безпеки даних і створенні надійних цифрових систем.
Zero-Knowledge Proof (ZKP) — це метод шифрування, який дозволяє одній стороні (доказу) доводити правильність твердження іншій стороні (верифікатору) без розкриття будь-якої додаткової інформації, тобто без розкриття будь-яких знань, на основі яких правильність заява залежить. Цей процес не тільки захищає конфіденційність перевірювача, але й гарантує, що верифікатор не зможе відтворити процес перевірки або використовувати його для отримання додаткової інформації.
Концептуальна діаграма доказів нульового знання (Джерело: ChainLink)
Основні принципи доказів із нульовим знанням (ZKP) можна визначити за такими трьома атрибутами:
Принцип ЗКП часто розуміють на простих прикладах: якщо мені потрібно довести особі А, що я маю номер телефону особи Б, мені не потрібно безпосередньо відкривати номер Б А. Натомість я можу це довести, зателефонувавши за номером Б. . Коли дзвінок з’єднується, це демонструє, що я справді володію номером B, не розкриваючи жодної інформації про сам номер.
У практичних застосуваннях ZKP зазвичай вимагає складних математичних конструкцій, таких як поліноміальні рівняння, еліптичні криві або інші математичні завдання. Безпека цих конструкцій базується на обчислювальній складності таких задач, як розкладання на множники або дискретні логарифми. З розвитком криптографії з’явилися різні реалізації ZKP, такі як zk-SNARK і zk-STARK, які пропонують ефективний захист конфіденційності в різних контекстах, особливо в сферах блокчейну та криптовалют.
Основна форма доказу з нульовим знанням складається з трьох елементів: свідок, оскарження та відповідь.
Свідок: у доказі з нульовим знанням той, хто доводить, хоче продемонструвати знання деякої прихованої інформації. Ця секретна інформація є «свідком» доказу. Провідник, ґрунтуючись на своїх знаннях про свідка, ставить набір запитань, на які може відповісти лише той, хто володіє інформацією. Таким чином, перевіряльник випадковим чином вибирає питання для початку перевірки, обчислює відповідь, а потім надсилає її верифікатору.
Завдання: Верифікатор випадковим чином вибирає інше запитання з набору та просить перевіряючого відповісти на нього.
Відповідь: перевіряльник отримує запитання, обчислює відповідь і надсилає її верифікатору. Відповідь перевіряючого дозволяє верифікатору перевірити, чи дійсно він має доступ до свідка. Щоб переконатися, що перевіряльник не просто випадково вгадує правильно, верифікатор вибирає інше запитання для запиту. Повторюючи цей процес кілька разів, ймовірність того, що прувер сфабрикує правду, значно зменшується, доки верифікатор не буде задоволений.
У вищезгаданому прикладі телефонної розмови «Я» — свідок, який не бажає розкривати інформацію, тоді як А — перевіряючий, а поставлене завдання — «Доведіть, що «Я» маю номер Б». Процес відповіді передбачає, що «я» підключаю дзвінок до номера B, щоб довести, що він у мене справді є.
Як обговорювалося раніше, підтвердження з нульовим знанням (ZKP) за своєю суттю пропонують значні переваги у сфері захисту конфіденційності. У сучасну еру інформаційного перевантаження особисті дані часто зберігаються на сторонніх платформах, що збільшує ризик витоку даних. Крім того, через технічні бар’єри та відставання правових санкцій інформаційна безпека значною мірою залежить від етичних обмежень, що ускладнює користувачам справді контролювати свою особисту інформацію. Поява технології ZKP забезпечує рішення, яке одночасно захищає конфіденційність і підвищує ефективність перевірки та безпеку.
Порівняно з іншими технологіями шифрування ЗКП має ряд переваг:
Чи то в традиційному Web 2.0, чи в новому домені Web 3.0, перспективи застосування ZKP є широкими.
Існує кілька реалізацій доказів з нульовим знанням, таких як zk-SNARK, zk-STARK, PLONK і Bulletproofs. Кожен тип має свої переваги та недоліки щодо розміру перевірки, часу перевірки та часу перевірки. Ця стаття зосереджена на представленні чотирьох типів, які найчастіше використовуються в прикладних сценаріях.
zk-SNARK, що означає «стислий неінтерактивний аргумент знання з нульовим знанням», — це криптографічні інструменти, які використовуються для підтвердження того, що хтось знає певну інформацію, не розкриваючи її. У zk-SNARK «нульовий рівень знань» означає, що перевіряючий може довести, що твердження є істинним, не надаючи жодної інформації, окрім його правильності. «Стислість» означає невеликий розмір доказу та швидкість процесу перевірки. «Неінтерактивний» означає, що після створення доказу його може перевірити будь-хто без подальшої взаємодії між перевірячем і верифікатором. Основні компоненти zk-SNARK включають:
zk-SNARK використовуються в різних сценаріях збереження конфіденційності, таких як криптовалюти з анонімними транзакціями, безпечні системи голосування, автентифікація та обмін даними, що зберігають конфіденційність, і технології масштабованості блокчейну.
zk-STARK, або «масштабовані прозорі аргументи знань з нульовим знанням», дозволяють одній стороні (доказу) довести іншій (верифікатору), що вони знають певну інформацію, не розкриваючи саму інформацію. На відміну від zk-SNARK, zk-STARK не вимагає довіреного процесу налаштування. Це означає, що вони не покладаються на конфіденційність певної приватної інформації, яка часто вважається важливою для безпеки, оскільки надійне налаштування може бути системною вразливістю.
zk-STARKs працюють на основі концепцій з кількох математичних областей, включаючи хеш-функції, поліноміальні обчислення та теорію виправлення помилок. Вони використовують конструкцію, відому як «масштабований прозорий аргумент із нульовим знанням», що дозволяє генерувати докази без довіреної установки. Потенційні програми zk-STARK подібні до програм zk-SNARK, але завдяки своїй масштабованості та прозорості вони особливо підходять для великомасштабних програм, включаючи криптовалюти, що зберігають конфіденційність, технології масштабованості блокчейну та безпечну перевірку в хмарних обчисленнях. .
PLONK, а не абревіатура, відноситься до прізвищ його творців. Він розроблений, щоб забезпечити універсальне та ефективне рішення ZKP, особливо в блокчейн-додатках, таких як смарт-контракти та транзакції, захищені конфіденційністю. Основою PLONK є використання техніки «гомоморфного приховування», що дозволяє виконувати арифметичні операції з даними без розкриття вихідних даних. Він використовує спеціальний алгоритм – поліноміальну схему зобов’язань – для створення доказів, що дозволяє перевіряльникам ефективно доводити, що вони мають правильні результати обчислень для набору даних.
Однією з ключових особливостей PLONK є його універсальність. Після встановлення параметрів для конкретного обчислювального завдання (через одноразове довірене налаштування) їх можна багаторазово використовувати для створення нових доказів, не потребуючи щоразу нових налаштувань. Це робить PLONK високоефективним у створенні та перевірці доказів і часто призначений для підтримки різноманітних обчислювальних завдань у блокчейні та інших розподілених системах.
Bulletproofs, нещодавно представлене рішення ZKP, не вимагає довіреного налаштування та спеціально розроблено для побудови доказів діапазону та певних типів арифметичних доказів. Запропонований Бенедиктом Бунцем, Джонатаном Бутлом, Деном Боне та іншими у 2017 році, Bulletproofs оперує складними математичними конструкціями, такими як гомоморфне шифрування та криптографія на основі еліптичної кривої. Вони використовують низку математичних методів, щоб дозволити перевіряльникам створити ефективне підтвердження діапазону для числа, не розкриваючи його точне значення. Особливо в сфері криптовалют це можна використовувати, щоб довести, що вартість транзакцій знаходиться в межах дозволеного діапазону, не розкриваючи фактичні суми транзакцій.
Завдяки своїй функції захисту від дальності Bulletproofs широко використовуються в сферах криптовалют і блокчейнів, зокрема в монетах конфіденційності, таких як Monero, щоб приховати суми транзакцій, одночасно перевіряючи легітимність транзакцій. Крім того, їх можна використовувати в інших програмах, де необхідна цифрова конфіденційність.
Давайте краще зрозуміємо ці чотири різні технології Zero-Knowledge Proof (ZKP) — zk-SNARK, zk-STARK, PLONK і Bulletproofs — через аналогію з картою скарбів.
Уявіть, що у вас є карта скарбів, яка веде до точного розташування закопаного скарбу. Ви хочете довести комусь, що знаєте, де знаходиться скарб, не розкриваючи вміст карти чи фактичне місцезнаходження скарбу.
zk-SNARKs: ви створюєте складну головоломку з карти скарбів. Ви вибираєте невелику ключову частину цієї головоломки (доказ) і показуєте її іншій стороні, щоб переконати її, що ви знаєте, як зібрати повну головоломку, тобто місцезнаходження скарбу, не відкриваючи всю головоломку. Однак для цього вам знадобляться спеціальні маркери від перевіреної друкарні, щоб підтвердити, що ваш пазл справжній.
zk-STARKs: Ви показуєте частину карти скарбів іншій стороні, кажучи їм, що вони можуть використовувати спеціальне збільшувальне скло (алгоритм перевірки), щоб випадково перевірити деталі карти, щоб переконатися, що вона справді вказує на скарб, без необхідності знати точне місцезнаходження скарбу. Це збільшувальне скло настільки потужне, що навіть технології майбутнього (квантові комп’ютери) не зможуть розгадати секрет вашої карти скарбів.
ПЛОНК: цього разу ви створюєте набір загадок, кожна з яких вказує на місцезнаходження скарбу. Ви надаєте іншій стороні універсальний метод перевірки вирішення цих загадок (універсальна установка), достатній для того, щоб вони повірили, що ви знаєте всі відповіді, не розгадуючи кожну загадку окремо.
Bulletproofs: Ви вирішуєте довести, що знаєте приблизне розташування скарбу, не розкриваючи його точного розташування. Ви пропонуєте серію розв’язків математичних завдань, які демонструють діапазон розташування скарбу. Ваш метод не потребує жодних спеціальних маркерів чи техніки друку, тобто не вимагає початкової довіри.
У цій аналогії:
Кожен метод має свої компроміси в практичних застосуваннях, і вибір залежить від конкретного сценарію застосування та потреб безпеки.
Перш ніж порівнювати, потрібно зрозуміти критерії оцінки ЗКП:
Тепер давайте порівняємо zk-SNARK, zk-STARK, PLONK і Bulletproofs на основі цих показників і обговоримо їхні переваги та недоліки.
плюси
мінуси
плюси
мінуси
плюси
мінуси
плюси
мінуси
У Web3 є багато випадків застосування ЗКП, і ми вибрали для дослідження два типові випадки.
zk-Rollups — це рішення рівня 2, яке об’єднує сотні чи тисячі транзакцій поза мережею та створює підтвердження zk-SNARK. Це підтвердження разом із даними про транзакції надсилається до основного ланцюга Ethereum. Це дозволяє перевіряти транзакції без основного ланцюга, що обробляє кожну транзакцію, тим самим зменшуючи комісії та збільшуючи пропускну здатність. zk-Sync Era та Starknet застосували технологію zk-rollup, а Polygon нещодавно представила Polygon zk-EVM з використанням zk-rollups.
Демонстрація застосування zk-SNARK на рівні 2 (Джерело: Саймон Браун)
Підтвердження біржового резерву означає перевірку балансів, що зберігаються на криптовалютних біржах або інших фінансових установах, щоб переконатися, що зареєстровані активи відповідають фактичним активам. Спочатку біржі використовували дерева Merkle та сторонні аудиторські фірми для цієї перевірки, але цей процес покладався на треті сторони та міг призвести до витоку приватних даних користувачів, таких як баланс рахунків. Такі біржі, як Gate.io, тепер використовують технологію zk-SNARKs для підтвердження резерву, шифрування даних користувачів і отримання номерів активів користувачів через канали zk-SNARK, таким чином видаючи повні звіти підтвердження резерву.
Різноманітні рішення технології з нульовими знаннями підкреслюють її потужний потенціал у Web3. Від захисту конфіденційності даних до масштабування блокчейну, ZKP важливий для створення безпечної та ефективної інфраструктури Web3. Хоча різні підходи мають свої переваги та обмеження, разом вони вказують на більш надійне та захищене конфіденційністю цифрове майбутнє. У міру розвитку технологій проблеми з оптимізацією продуктивності та безпеки за допомогою ZKP поступово будуть подолані, що вказує на його дедалі важливішу роль у цифровому світі.