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

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

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

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

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

Що таке Zero-Proof Knowledge Protocol?

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

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

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

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

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

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

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

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

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

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

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

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

Три основні властивості будь-якого протоколу знань з нульовим доказом:

❇️ Повнота: верифікатор має засвідчити, що перевірник має необхідні дані для кваліфікації твердження.

❇️ Обґрунтованість: неможливо сфальсифікувати твердження, і немає способу переконати верифікатор у тому, що прувер володіє необхідними даними, якщо вони цього не роблять.

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

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

Є два основних типи ЗКП, а саме:

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

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

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

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

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

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

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

Застосування доказу нульового знання в блокчейнах

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Виборці також могли використовувати ЗКП, щоб вимагати незмінні докази свого голосу під час остаточного підрахунку голосів.

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

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

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

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

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

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

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

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

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

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

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

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

ЖКП Vs. Багатостороннє обчислення (MPC)

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

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

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

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

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

Доказ нульового знання проти. Нульова довіра

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

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

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

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

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

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

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

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

Далі ознайомтеся з докладним посібником із безпеки без довіри.