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

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

Притча про печеру Алі Баби

У 1990 році криптограф Жан-Жак Квісквотер (разом з іншими співробітниками) опублікував статтю під назвою «Як пояснити протоколи з нульовим знанням своїм дітям». Стаття вводить концепцію zk-доказів за допомогою притчі про печеру Алі-Баби. З моменту створення притчу кілька разів адаптували, і тепер ми маємо кілька варіацій. Тим не менш, основна інформація по суті та сама.

Уявімо кільцеподібну печеру з одним входом і магічним дверима, що розділяє дві бічні стежки. Щоб пройти через чарівні двері, потрібно прошепотіти правильні секретні слова. Тож подумайте, що Аліса (жовта) хоче довести Бобу (синя), що вона знає, що таке таємні слова, але все ще тримає їх у таємниці. Для цього Боб погоджується чекати зовні, поки вона ввійде в печеру, і пройде до кінця одного з двох можливих шляхів. У цьому прикладі вона вирішує пройти шлях 1.

Через деякий час Боб проходить біля входу та кричить, з якого боку він хоче, щоб з’явилася Аліса (у цьому випадку Шлях 2).

Якщо Аліса справді знає секрет, вона точно з’явиться зі шляху, який називає Боб.

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

Притча про печеру Алі-Баби ілюструє концепцію доказів із нульовим знанням, які є частиною протоколів zk-SNARK і zk-STARK. Докази ZK можна використовувати для підтвердження володіння певними знаннями, не розкриваючи жодної інформації про це.

zk-SNARKs

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

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

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

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

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

Переходимо до частини акроніму «Аргументи знань». zk-SNARK вважаються обчислювально обґрунтованими, а це означає, що нечесний перевірник має дуже низькі шанси успішно обдурити систему, не маючи фактичних знань (або свідків) на підтримку свого твердження. Ця властивість відома як надійність і передбачає, що прувер має обмежену обчислювальну потужність.

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

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

zk-STARKs

zk-STARK були створені Елі-Бен Сассоном, професором Техніон-Ізраїльського технологічного інституту. Як альтернативна версія доказів zk-SNARK, zk-STARK зазвичай вважаються більш ефективним варіантом технології – потенційно швидшим і дешевшим, залежно від реалізації. Але що ще важливіше, zk-STARK не вимагає початкового довіреного налаштування (отже, «T» означає прозорий).

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

Іншими словами, докази zk-STARK представляють простішу структуру з точки зору криптографічних припущень. Однак ця нова технологія має принаймні один серйозний недолік: розмір доказів більший у порівнянні з zk-SNARK. Така різниця в розмірі даних може мати обмеження залежно від контексту використання, але це, ймовірно, те, що можна з’ясувати під час подальшого тестування та дослідження технології.

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

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