Что такое доказательство с нулевым разглашением (zero-knowledge proof)?
1
Что такое доказательство с нулевым разглашением (zero-knowledge proof)?
2
Как это работает?
Представьте, что вы находитесь в комнате с человеком, которому завязали глаза. На столе перед вами лежат два шарика — белый и черный. Вам необходимо доказать второму человеку (верификатору), что шарики действительно разных цветов, при этом не раскрывая каких именно.
Тем не менее полностью верификатор в истинности факта не будет уверен, ведь могли иметь место удача или обман. Эта проблема решается путем повторения эксперимента n количество раз. С каждым раундом шанс случайно оказаться правым будет уменьшаться вдвое: после пяти повторений вероятность обмана составит 1 к 32, после 10 раундов — 1 к 1024, а после 20 раундов — примерно 1 к 1 000 000.
Благодаря повторениям можно добиться желаемого уровня надежности доказательства, однако абсолютной уверенности достичь при этом невозможно.
3
Для чего используют доказательство с нулевым разглашением?
Одним из очевидных применений доказательства с нулевым разглашением в криптовалютах можно назвать проверку наличия у пользователя средств для транзакции, при этом не раскрывая участникам сети, кто этот пользователь и сколько денег у него на счету.
Этот протокол также можно использовать в сферах, где необходимо обеспечить безопасность данных (например, персональной информации) или проведение финансовой транзакции.
Доказательство с нулевым разглашением может играть роль инструмента, который обеспечивает верификацию данных и пользователей, предоставление привилегированного доступа и установление доверенных соединений.
4
Какие существуют виды доказательств с нулевым разглашением?
- интерактивный (верификатор самостоятельно опрашивает доказывающего в режиме реального времени);
- неинтерактивный (не требует непосредственной коммуникации между верификатором и доказывающим; первый может проверять подлинность утверждения постфактум).
Доказательства с нулевым разглашением можно также разделить на две группы, исходя из наличия или отсутствия фазы фиксации подлинности утверждения несколькими верификаторами — так называемой доверенной установки [trusted setup] с применением булевой функции.
Для некоторых протоколов, таких как zk-SNARKs (Zero-Knowledge Succinct Non-Interactive ARgument of Knowledge), это является необходимым условием. Верификаторы генерируют специальный секрет, который уничтожается сразу после доверенной установки. Если секрет продолжит существовать, то данные в сети можно будет подделать, тем самым нивелируя преимущества использования протокола.
Существуют протоколы, которые не требуют доверенной установки (например, zk-STARK (Zero-Knowledge Scalable Transparent ARguments of Knowledge).
5
Какие преимущества доказательств с нулевым разглашением?
- повышение приватности пользователей в публичных блокчейнах и других сетях;
- укрепление информационной безопасности за счет замены неэффективных способов аутентификации и верификации;
повышение пропускной способности блокчейнов и улучшение масштабируемости.
6
Какие недостатки доказательств с нулевым разглашением?
- требуют значительных вычислительных мощностей;
- возможность компрометации при доверенной установке;
- потенциальная уязвимость перед квантовыми вычислениями.
7
В каких проектах используются доказательства с нулевым разглашением?
Ориентированная на повышенную приватность пользователей криптовалюта ZCash использует модифицированный протокол zk-SNARKs. Этот же протокол был частично имплементирован в сети Ethereum в рамках хардфорка Byzantium. На данный момент разработчики эфира рассматривают дополнительные возможности применения этой технологии.
Стартап QEDIT разработал SDK (Software Development Kit), который позволяет имплементировать доказательства с нулевым разглашением в уже существующие блокчейны для повышения приватности транзакций с сохранением возможности их валидации нодами. Отметим, что проект уже был награжден Знаком Качества Европейской Комиссии, а среди его партнеров такие известные компании, как VMWare, Ant Financial и Deloitte.
Компания StarkWare создала решения на основе протокола zk-STARKs, которые также могут быть реализованы в существующих сетях. Проект уже привлек финансирование от Виталика Бутерина, Pantera Capital, Intel Capital, Sequoia Capital и других инвесторов.
Голландский банк ING выпустил модифицированную версию доказательства с нулевым разглашением — Zero-Knowledge Range Proof (ZKRP). Этот протокол может доказать, что клиент имеет заработную плату в диапазоне, необходимом для получения ипотечного кредита, при этом не раскрывая саму сумму.
Подписывайтесь на новости ForkLog в Telegram: ForkLog Live — вся лента новостей, ForkLog — самые важные новости и опросы.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!