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.
В любом случае, данная технология будет развиваться дальше, поскольку открывает перед пользователями крайне удобные и перспективные возможности.