Пояснення щодо підтвердження нульового знання (ZKP) у блокчейні

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

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

На сцену виходить нова розробка – Zero-Knowledge Proof (ZKP), або доказ з нульовим розголошенням. Якщо ви чули про цю технологію, але не до кінця розумієте її суть та механізм роботи, ця стаття саме для вас.

Шифрування з нульовим розголошенням позиціонують як передовий протокол для підвищення безпеки. Але чи є він достатньо ефективним, і чи стане тим рішенням, на яке очікує світ? У цій статті ми спробуємо знайти відповіді на ці та інші питання.

Що таке протокол Zero-Knowledge Proof?

Zero-Knowledge Proof – це інноваційний метод у криптографії, що дозволяє одній стороні (доказувачу) переконати іншу сторону (верифікатора) у дійсності певного твердження, не розкриваючи при цьому жодної додаткової інформації, окрім самого факту істинності цього твердження.

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

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

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

Протокол був вперше розроблений у 1985 році трьома вченими з Массачусетського технологічного інституту – Шафі Голдвассер, Сільвіо Мікалі та Чарльзом Рекоффом – у їхній науковій роботі під назвою “Складність знань інтерактивних систем доказів“. Сьогодні багато протоколів децентралізованого фінансування (DeFi) вже використовують ZKP для підвищення безпеки та конфіденційності своїх користувачів у сферах кредитування, позик і торгівлі.

Кілька блокчейнів першого рівня, як-от Zcash і Polygon, вже інтегрували зведення на основі ZKP або віртуальні машини Ethereum без знань (zkEVM). Ентузіасти блокчейну та Web 3.0 покладають великі надії на ZKP, сподіваючись, що вони відіграватимуть важливу роль у майбутньому, оскільки темпи їхнього впровадження продовжують зростати.

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

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

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

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

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

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

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

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

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

Існує два основних типи ZKP:

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

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

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

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

У цьому типі ZKP взаємодії між доказувачем і верифікатором немає. Верифікатор має лише одну можливість перевірити автентичність доказу, наданого доказувачем.

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

Для неінтерактивного ZKP може знадобитися спеціальне програмне забезпечення для ефективної роботи.

Застосування доказів з нульовим розголошенням у блокчейні

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

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

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

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

#1. Обмін повідомленнями

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

#2. Аутентифікація

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

Чудовим прикладом транзакцій із збереженням конфіденційності є децентралізований додаток Manta Network – MantaPay.

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

#3. Захист зберігання даних

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

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

#4. Надсилання приватних транзакцій в блокчейні

Основна мета надсилання приватних транзакцій в блокчейні – запобігти їхній видимості для сторонніх осіб. Наявні методи захисту можуть мати недоліки, тому на допомогу приходять ZKP.

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

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

#5. Комплексна документація

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

#6. Демократизація перевірки голосування

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

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

Виборці також можуть використовувати ZKP для отримання незаперечних доказів свого голосу під час остаточного підрахунку.

#7. Безпека делікатної інформації

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

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

#8. Токенізація та перевірка права власності

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

Переваги використання доказу з нульовим розголошенням

Як і будь-яка нова технологія, використання ZKP має безліч переваг при використанні в поєднанні з протоколами блокчейну. Окрім свободи та гнучкості, які вона пропонує користувачам, інші переваги використання Zero-Knowledge Proofs включають:

  • Простота: Простота – одна з головних переваг використання ZKP. Користувачам не потрібно знати, як використовувати складне програмне забезпечення для застосування різноманітних рішень, які вона пропонує. ZKP є безпечними, навіть незважаючи на те, що вони не зашифровані, що є безперечною перевагою.
  • Безпека: Протоколи Zero-Knowledge Proof дуже безпечні в тому, як вони полегшують обмін інформацією. Користувачі можуть впевнено використовувати їх для взаємодії, не вивчаючи жодних конкретних ко
    дів або аналітики.
  • Економія часу: За допомогою ZKP користувачі економлять час, необхідний для завершення транзакцій у блокчейні.
  • Конфіденційність: Захист і збереження конфіденційності користувачів є основною функцією ZKP. Користувачам не потрібно ділитися конфіденційними даними, що робить протокол надзвичайно приватним.
  • Безпека: Користувачі протоколів Zero-Knowledge Proof вже знають свою політику щодо обміну даними, тобто вони не дозволять будь-якій організації, яка запитує їхню особисту інформацію без поважних причин.

ZKP Vs. Багатосторонні обчислення (MPC)

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

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

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

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

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

Доказ з нульовим розголошенням проти нульової довіри

Ключова відмінність між доказами з нульовим розголошенням і нульовою довірою полягає в аспекті перевірки. Модель Zero Trust вимагає суворої перевірки особи користувачів та їхніх пристроїв перед наданням їм доступу до програм і конфіденційних даних.

ZKP, з іншого боку, шифрують дані таким чином, що доступ до них має лише авторизована сторона. Якщо в моделі Zero Trust перевірка особистості є ключовим фактором, то в протоколі Zero-Knowledge фундаментальним принципом є шифрування.

Аспект обсягу також розділяє ці два протоколи: якщо Zero Trust зосереджується на безпеці мережі, то Zero Knowledge – на безпеці даних.

Zero Trust гарантує доступ до конфіденційних програм або даних лише авторизованим та автентифікованим пристроям або користувачам, а Zero-Knowledge Proof захищає особисті дані шляхом шифрування таким чином, що доступ до них матиме лише авторизована сторона.

Заключні думки

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

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

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

Ознайомтеся з детальним посібником з безпеки без довіри для отримання додаткової інформації.