Zk-SNARK
Що таке zk-SNARK?
Zk-SNARK – це абревіатура, що розшифровується як «Нульовий знаний стислий неінтерактивний аргумент знання». Zk-SNARK – це криптографічний доказ, що дозволяє одній стороні довести, що вона має певну інформацію, не розкриваючи цю інформацію. Це підтвердження стало можливим за допомогою секретного ключа, створеного до здійснення транзакції. Він використовується як частина протоколу для криптовалюти Zcash.
Ключові винос
- Zk-SNARK – це протокол із нульовим підтвердженням знань, що використовується у шифруванні, і є абревіатурою, що розшифровується як “Сумарний неінтерактивний аргумент знань з нульовим знанням”.
- Цей доказ був вперше розроблений і представлений наприкінці 1980-х років, і зараз він використовується криптовалютою Zcash для вирішення проблеми сприйняття анонімності з блокчейнами типу Біткойн.
- Докази Zk-SNARK спираються на початкове налаштування “системи довіри”, яке було критиковано як невід’ємний недолік безпеки.
Розуміння zk-SNARK
Для багатьох оригінальних членів криптовалютного співтовариства – в першу чергу спільноти біткойнів – конфіденційність була передбачуваною метою та особливістю криптовалют. Однак конфіденційність завжди була проблемою другого порядку, враховуючи необхідність криптовалюти створити “ненадійну” систему гарантування цілісності електронних валют та цифрових транзакцій.
На початку 2010-х років користувачі відносно легко повторно ідентифікувати людей, які передавали псевдоніми в кілька джерел.
Через відчутну відсутність конфіденційності деяких оригінальних криптовалют, таких як біткойн, розробники почали працювати над монетами, орієнтованими на конфіденційність. Найбільш видним з них був Zcash, спираючись на технологію, відому як ZK-SNARKs.
Доказ нульового знання
Гк-СНАРК ( «нульового знання стислий неінтерактивний аргумент знань») використовує концепцію, відому як «доказ з нульовим знанням.» Ідея цих доказів була вперше розроблена у 1980-х. Простіше кажучи, доказ нульових знань – це ситуація, коли кожна з двох сторін транзакції може перевірити одна одній, що вони мають певний набір інформації, одночасно не розкриваючи, що це за інформація.
Для більшості інших видів доказів принаймні одна з двох сторін повинна мати доступ до всієї інформації. Традиційний доказ можна порівняти з паролем, який використовується для доступу до Інтернет-мережі. Користувач подає пароль, а мережа сама перевіряє вміст пароля, щоб переконатися, що він правильний. Для цього мережа повинна також мати доступ до вмісту пароля.
Версія цієї ситуації з нульовими знаннями передбачає демонстрацію користувачеві мережі (за допомогою математичного підтвердження), що вони мають правильний пароль, фактично не розкриваючи сам пароль. Переваги конфіденційності та безпеки в цій ситуації очевидні: якщо в мережі немає пароля, який зберігається десь для цілей перевірки, пароль не можна викрасти.
Математична основа zk-SNARKS є складною. Тим не менше, докази такого типу дозволяють одній стороні продемонструвати не тільки те, що існує певна частина інформації, але й те, що сторона, про яку йде мова, знає про цю інформацію. У випадку з Zcash zk-SNARK можна перевірити майже миттєво, і протокол не вимагає жодної взаємодії між перевіряючим та перевіряючим.
Критика zk-SNARKs
Звичайно, є проблеми, пов’язані із zk-SNARK. Наприклад, якщо хтось зміг отримати доступ до приватного ключа, який використовувався для створення параметрів протоколу перевірки, він міг створити помилкові докази, які, тим не менше, здавалися дійсними перевіряючим. Це дозволило б цій особі створювати нові токени Zcash через процес підробки. Для того, щоб цього не сталося, Zcash був розроблений таким чином, щоб протоколи, що підтверджують, були розроблені та розповсюджені між кількома сторонами.
Незважаючи на те, що побудова процесу підтвердження Zcash була завершена таким чином, щоб мінімізувати можливість підробки жетонів за допомогою неправдивих доказів, є принаймні ще одна проблема, пов’язана з криптовалютою. Zcash був створений за допомогою 20% “податку”, що стягується з усіх блоків, створених протягом перших кількох років роботи токена. Цей податок відомий як “податок засновника”, і він використовується для компенсації розробникам криптовалюти.
Критики припускають, що засновники потенційно можуть використовувати цей аспект системи для створення нескінченної кількості токенів Zcash, не маючи на увазі, що хтось інший знає про їх існування. З цієї причини не зовсім можливо дізнатися точну кількість жетонів Zcash, що існують на даний момент.
Починаючи з 2019 року, деякі розробники працюють над вдосконаленням zk-SNARK, видаливши довірену установку. Команда під назвою Suterusu розробила систему під назвою zK-ConSNARK, яка стверджує, що може працювати без довірених налаштувань, може забезпечити захист конфіденційності для основних блокчейнів, таких як біткойн, і має найнижчу інфляцію серед усіх існуючих криптовалют.