BTC$29880

ETH$3666

Шукати

Що таке доказ із нульовим розголошенням (zero-knowledge proof)?

Що таке доказ із нульовим розголошенням (zero-knowledge proof)?

Доказ із нульовим розголошенням — це криптографічний протокол, який дозволяє одній стороні (тому, хто доводить) переконати іншу сторону (верифікатора) у правдивості твердження, не розкриваючи жодної додаткової інформації про себе (наприклад, не надавати жодних подробиць про те, що саме було доведено чи звідки взята ця інформація). Цей термін був запропонований дослідниками з Массачусетського технологічного інституту (MIT), такими як Шафі Голдвассер, Сільвіо Мікалі та Чарльз Ракофф, у їх наукових статтях «Складність доказів в інтерактивних системах».

Як це працює?

Уявіть, що ви опинились у кімнаті з іншою людиною, якій закрили очі. На столі перед вами розташовані дві кульки — біла і чорна. Ваше завдання — переконати іншу особу (верифікатора), що ці кульки мають різний колір, при цьому не розголошуючи, які саме кульки ви бачите.

Щоб це зробити, ви пропонуєте верифікатору приховати обидві кульки під стіл. Потім ви просите його взяти під руку лише одну кульку, щоб ви могли її побачити. Далі верифікатор знову приховує кульку під столом і, коли ви знову дивитесь, він може показати вам або білу, або чорну. Однак ви зможете підтвердити своє твердження, оскільки точно знаєте, чи змінилися кульки під столом.

Але верифікатор все ще може вагатися, бо можливий випадок удачі або обману. Цю проблему можна вирішити шляхом багаторазового повторення експерименту n кількість разів. З кожним новим раундом ймовірність помилки уполовинюється: після п’яти повторень вона стає 1 до 32, після десяти — 1 до 1024, а після двадцяти — приблизно 1 до 1 000 000.

Повторенням можна досягти більш високого рівня надійності доказу, але абсолютну впевненість отримати практично неможливо.

Для чого використовується доказ з нульовим розголошенням?

Один із очевидних сценаріїв застосування доказу з нульовим розголошенням у сфері криптовалют — це перевірка наявності коштів у користувача для здійснення транзакції, при цьому не розголошуючи ідентичність цього користувача і суму коштів на його рахунку іншим учасникам мережі.

Цей протокол також можна використовувати в галузях, де важлива збереження безпеки даних, таких як особиста інформація, або при проведенні фінансових транзакцій.

Доказ з нульовим розголошенням може також виступати як інструмент для верифікації даних і користувачів, надання привілейованого доступу та встановлення довірених зв’язків.

Які види доказів із нульовим розголошенням існують?

  1. Інтерактивний: Верифікатор самостійно питає того, хто доводить, у режимі реального часу.
  2. Неінтерактивний: Не вимагає безпосередньої комунікації між верифікатором і тим, хто доводить. Перший може перевіряти справжність твердження після факту.

Докази з нульовим розголошенням також можна класифікувати за наявністю фази фіксації автентичності твердження кількома верифікаторами — так званої довіреної установки [trusted setup] із використанням булевої функції.

Деякі протоколи, як, наприклад, zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), вимагають цієї довіреної установки. Верифікатори створюють спеціальний секрет, який негайно знищується після проведення цієї установки. Якщо секрет залишиться, дані в мережі можуть бути піддані підробці, що негативно вплине на переваги використання протоколу.

Є також протоколи, які не потребують довіреної установки, наприклад, zk-STARK (Zero-Knowledge Scalable Transparent Arguments of Knowledge).

Які переваги доказів з нульовим розголошенням?

  1. Збільшення конфіденційності користувачів в публічних блокчейнах та інших мережах.
  2. Посилення інформаційної безпеки шляхом заміни неефективних методів аутентифікації та верифікації.
  3. Підвищення пропускної здатності блокчейнів і поліпшення їх масштабованості.

Які недоліки доказів з нульовим розголошенням?

  1. Потреба в значних обчислювальних ресурсах для виконання протоколу.
  2. Можливість компрометації під час довіреного встановлення.
  3. Потенційна вразливість перед квантовими обчисленнями, які можуть зламати деякі криптографічні методи.

У яких проєктах використовуються докази з нульовим розголошенням?

  1. Криптовалюта ZCash активно використовує модифікований протокол zk-SNARKs з фокусом на збереження приватності користувачів.
  2. Мережа Ethereum частково імплементувала протокол zk-SNARKs у рамках хардфорка Byzantium і розглядає можливості подальшого застосування цієї технології.
  3. Стартап QEDIT розробив SDK (Software Development Kit) для внесення доказів з нульовим розголошенням у наявні блокчейни, забезпечуючи приватність транзакцій та здатність їхньої валідації вузлами. Цей проєкт отримав Знак Якості Європейської Комісії і має партнерів, таких як VMWare, Ant Financial і Deloitte.
  4. Компанія StarkWare розробила рішення на основі протоколу zk-STARKs, які можуть бути імплементовані в існуючих мережах. Проєкт отримав підтримку Віталіка Бутерина та фінансових гігантів, таких як Pantera Capital, Intel Capital, Sequoia Capital і інших інвесторів.
  5. Голландський банк ING випустив свою модифіковану версію доказу з нульовим розголошенням, відому як Zero-Knowledge Range Proof (ZKRP). Цей протокол дозволяє довести, що клієнт отримує зарплату у визначеному діапазоні, не розкриваючи конкретну суму, що є важливим при отриманні іпотечного кредиту.