Zero-Knowledge Proof - що це таке?
На базовому рівні, доказ з нульовим розголошенням - протокол, за допомогою якого можна спростити цифрову аутентифікацію, щоб не потрібно було використовувати паролі та інші конфіденційні дані, але не побоюватися того, що передана інформація стане відома третім особам. Іншими словами, будь-яка передана інформація між сторонами не може бути скомпрометована.
Це вкрай корисно, оскільки прискорює загальний процес і дозволяє зберегти високий рівень безпеки.
Ідея, що лежить в основі «zero-knowledge proof» виникла ще в 1985 році, коли програмісти Shafi Goldwasser, Charles Rackoff і Silvio Micali пред'явили світу концепцію «складності знань» - логічного попередника ZKP.
Як випливає з назви, існує деяка міра «складності знання», яка визначає обсяг знань між перевіряючим і верифікатором, необхідна для правильного здійснення будь-якої транзакції.
Як працює zero-knowledge proof?
Показовий приклад - використання доказу з нульовим розголошенням державними органами для проходження певних інстанцій, причому - без необхідності пред'являти, як і звідки були ці дані отримані.
Крім того, ZKP активно використовується в багатьох цифрових областях, в тому числі і для створення нових механізмів цифрової ідентифікації, які взагалі не вимагають від користувачів розкриття будь-якої конфіденційної інформації.
Уже зараз існує кілька незалежних платформ, які дозволяють співробітникам правоохоронних органів з'ясовувати, чи має та чи інша особа дійсні водійські права, але дізнаючись додатково нічого, крім ідентифікаційного номера цієї особи.
На більш високому рівні, zero-knowledge proof використовується для визначення ядерного потенціалу країн, не вдаючись до повноцінного шпигунства та інспекцій. Крім того, відомо, що Управління перспективних дослідницьких проектів при Міноборони США повідомляло про розробку проекту SIEVE - «Securing Information for Encrypted Verification and Evaluation», що дозволяє працювати з даними уряду США без необхідності зайвий раз підтверджувати джерело цих даних.
Інтеграція ZKP в блокчейн
Може виявитися вкрай корисним явищем, оскільки дозволить отримати більш надійну і захищену криптовалютну транзакцію з високим рівнем шифрування.
В контексті блокчейна, можливе створення таких систем з ZKP, при яких не потрібно буде вказувати ні джерело транзакції, ні джерело коштів на рахунку, ні напрямок переміщення цих коштів.
Приклад реального використання такої технології - криптографічна платформа Zcash, яка використовує спеціальну технологію zk-SNARKs, яка одночасно і зберігає транзакції повністю зашифрованими, і перевіряє їх відповідність правилам консенсусу мережі.
Але незважаючи на те, що докази з нульовим розголошенням мають великий потенціал в контексті безпеки сучасних інформаційних систем, сама ідея все ще знаходиться на ранньому етапі розробки. В основному, тому, що дослідники намагаються виявити всі її потенційні недоліки і можливості максимально ефективного використання.
Можливі переваги
Якщо коротко, то ZKP повністю прибирає необхідність у використанні паролів і інших конфіденційних даних. Чим знижують багато ризиків, що виникають при використанні протоколів аутентифікації, зав'язаних виключно на використанні цих самих паролів.
Недолік у даної системи один, але істотний. У той час, як забутий пароль можна нагадати автоматизованими механізмами, забутий ідентифікаційний код назавжди позбавляє вас всіх пов'язаних з ним даних.
Відомі випадки ефективного використання
ZoKrates - цифровий інструментарій, корисний для розробки і перевірки доказів з використанням Solidity - об'єктно-орієнтованої мови програмування, що застосовується для створення смарт-контрактів, заснованих на блокчейні Ethereum.
Quorum - відгалуження від блокчейна Ethereum, що використовує свою мову смарт-контрактів Constellation. Теж використовує ZKP - адаптовану під свої потреби версію zk-SNARKs.
У будь-якому випадку, дана технологія буде розвиватися далі, оскільки відкриває перед користувачами вкрай зручні і перспективні можливості.