Докази з нульовим знанням, пояснення

ПочатківецьDec 03, 2023
Ця стаття пояснює фундаментальні принципи доказів із нульовим знанням, їх широке застосування та конкретну реалізацію Zk-доказів у простий і зрозумілий спосіб.
Докази з нульовим знанням, пояснення

1. Що таке доказ нульового знання?

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

Дослідники Шафі Голдвассер, Сільвіо Мікалі та Чарльз Ракофф вперше представили цю ідею на початку 1980-х років. Основна мета ZK-доказу полягає в тому, щоб переконати верифікатор у тому, що твердження правдиве , не розкриваючи жодної іншої інформації , окрім правдивості твердження.

Хороший доказ нульового знання має відповідати наступним трьом критеріям:

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

Існують різні види ZK-доказів:

Інтерактивні ZK-докази

Інтерактивні докази з нульовим знанням вимагають зворотного зв’язку між перевіряльником і верифікатором.

Неінтерактивні ZK-докази

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

Статистичні ZK-докази

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

Підтвердження знань (PoK)

PoK — це підклас ZK-доказів, який показує, що доказувач володіє певними знаннями, пов’язаними з твердженням.

Докази перетасування та діапазону

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

Протоколи Sigma

Протоколи Sigma - це клас ZK-доказів, які включають три кроки: зобов'язання, виклик і відповідь.

Куленепробивні

Куленепробивні засоби призначені для забезпечення ефективних перевірок дальності для великих наборів значень.

2. Як працюють докази з нульовим знанням?

ZK-докази дозволяють перевіряючому переконати верифікатор у правдивості твердження, не розкриваючи жодної інформації про саме твердження. Підтверджувач і верифікатор взаємодіють у кількох раундах протоколу, і в висновку верифікатор розвиває впевненість у правдивості твердження, не дізнаючись жодної додаткової інформації про секрет.

Давайте використаємо «Проблему трьох кольорів», також відому як «Проблема розфарбування графа», як ілюстрацію того, як функціонують ZK-докази.

Проблема

Уявіть, що у вас є карта з кількома областями (вершинами), з’єднаними лініями (ребрами), і це проблема. Мета полягає в тому, щоб використати один із трьох кольорів для фарбування кожної області, щоб жодні дві сусідні частини не мали однакового кольору. Чи можете ви переконати когось, що ви знаєте правильний колір, не розкриваючи фактичних відтінків, наданих кожному регіону?

Рішення з використанням протоколу ZK-proofs

Налаштування

І перевіряльник, і верифікатор узгоджують регіони та зв’язки графіка (карти).

Заява

Довідник стверджує, що має надійне триколірне розфарбування для наданого графа.

Раунд 1: Зобов'язання

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

Раунд 2: Виклик

Верифікатор вибирає випадкову область і просить, щоб перевіряльник відкрив зобов’язання для цієї конкретної зони. Прувер повинен розкрити відтінок прихильності цієї області.

Раунд 3: Відповідь

Після визначення кольорів перевіряльник тепер повинен довести, що виявлений колір точний. Це передбачає відображення відмінностей кольорів між сусідніми розділами. Верифікатор перевіряє відповідь, щоб переконатися, що перевіряльник правильно дотримується правил.

Ітерація

Раунди 2 і 3 повторюються кілька разів з використанням різних регіонів, які вибираються випадковим чином. Цю процедуру повторюють стільки разів, скільки необхідно для встановлення високого ступеня довіри до правдивості твердження перевіряючого.

Висновок

Верифікатор стає впевненим, що перевіряльник дійсно має дійсне триколірне розфарбовування, не знаючи фактичних використаних кольорів, якщо перевіряльник регулярно дає дійсні відповіді для кожного раунду.

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

Наведена вище ілюстрація показує, як ZK-докази можна використовувати, щоб переконати когось, що рішення існує, зберігаючи при цьому ідентифікацію рішення в секреті, пропонуючи потужний інструмент для підвищення конфіденційності та безпеки в різноманітних програмах.

3. Які застосування доказів з нульовим знанням?

ZK-докази – це корисні інструменти, які мають багато застосувань у різноманітних сферах і вирішують важливі проблеми конфіденційності та безпеки.

ZK-докази мають вирішальне значення у світі криптовалют для покращення конфіденційності транзакцій і масштабованості. Вони дозволяють здійснювати анонімні транзакції без розкриття деталей транзакції чи особи користувачів, як у випадку з орієнтованими на конфіденційність криптовалютами, такими як Zcash (ZEC).

ZK-докази можна використовувати в полях автентифікації та контролю доступу, щоб продемонструвати розуміння пароля або криптографічного ключа, не розкриваючи сам пароль або ключ. Це призводить до кращих зручних і безпечних методів автентифікації.

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

ZK-докази також впливають на безпечну передачу та перевірку даних, надаючи одній стороні можливість продемонструвати точність обчислень на основі особистих даних, не розкриваючи самих даних.

Докази з нульовим знанням можуть покращити конфіденційність транзакцій у цифрових валютах центрального банку (CBDC) , полегшуючи приватні транзакції та зберігаючи анонімність користувачів. Збалансовуючи конфіденційність і прозорість у транзакціях CBDC, ZK-докази забезпечують можливість перевірки без розкриття специфіки транзакцій.

4. Чи можна інтегрувати ZK-докази в блокчейн-платформи?

Так, ZK-докази можна інтегрувати в блокчейн-платформи, і фактично вони успішно реалізовані в різних блокчейн-мережах. ZK-докази забезпечують потужну техніку для підвищення ефективності, безпеки та конфіденційності в системах блокчейн.

Інтегровані в блокчейн-платформи, ZK-докази можуть служити багатьом цілям:

Конфіденційність і конфіденційність

ZK-докази дозволяють здійснювати приватні транзакції, дозволяючи користувачам виконувати транзакції без розкриття основної інформації, такої як сума транзакції та адреси відправника та одержувача. Від цього залежить покращення конфіденційності користувачів на відкритих блокчейнах.

Перевірка та аудит

Без розголошення реальних даних або інформації ZK-докази можна використовувати для перевірки точності конкретних обчислень або тверджень. Це гарантує цілісність даних і робить можливим проведення ефективних процедур аудиту.

Масштабованість

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

Ідентичність і автентифікація

Завдяки використанню ZK-доказів для безпечної перевірки особи та автентифікації, одночасно захищаючи конфіденційність користувачів, додатки на основі блокчейну будуть безпечнішими.

Межланцюгова сумісність

ZK-докази можуть допомогти з міжланцюговим зв’язком і передачею активів, одночасно захищаючи конфіденційність, сприяючи взаємодії між різними блокчейн-мережами.

5. Які недоліки доказів з нульовим знанням?

ZK-докази забезпечують конфіденційність і безпеку, але вони можуть бути обчислювально інтенсивними та складними для впровадження.

Розробка та перевірка ZK-доказів може потребувати ресурсів і обчислень, особливо для більш складних доказів. Це може призвести до довшого часу обробки транзакцій і збільшення обчислювальної роботи, що може ускладнити масштабування систем блокчейну.

Крім того, ZK-докази можуть додати рівень складності, який може ускладнити перевірку та перевірку протоколу, викликаючи занепокоєння щодо потенційних недоліків безпеки або помилок. Крім того, хоча ZK-докази покращують конфіденційність, приховуючи інформацію, вони також можуть сприяти незаконній діяльності в деяких ситуаціях, створюючи труднощі для дотримання нормативних вимог.

ZK-докази також можуть не підходити для всіх випадків використання або секторів, оскільки вони потребують спеціальної підготовки та досвіду для належного впровадження. Це може перешкодити їх широкому використанню та застосуванню в багатьох галузях.

Хоча ZK-докази забезпечують корисні функції конфіденційності та безпеки, їхні недоліки вимагають ретельного вивчення та оцінки пов’язаних компромісів перед їх застосуванням у конкретних системах чи програмах.

Відмова від відповідальності:

  1. Цю статтю передруковано з [Cointelegraph]. Усі авторські права належать оригінальному автору [ШИРАЗ ДЖАГАТІ]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn, і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.
learn.articles.start.now
learn.articles.start.now.voucher
learn.articles.create.account