Как работает доказательство с нулевым разглашением (zero-knowledge proof)?

Как работает доказательство с нулевым разглашением (zero-knowledge proof)?

  • 1

    Что такое доказательство с нулевым разглашением (zero-knowledge proof)?

    Доказательство с нулевым разглашением — это криптографический протокол, который позволяет одной стороне (доказывающему) подтвердить истинность утверждения другой стороне (верификатору), при этом не раскрывая никакой дополнительной информации о ней (ни содержания, ни источника, из которого доказывающий узнал о правдивости).Такое определение впервые было предложено исследователями из Массачусетского технологического института (MIT) Шафи Голдвассером, Сильвио Микали и Чарльзом Ракоффом в научной статье “Сложность доказательств в интерактивных системах” (1985).

  • 2

    Как это работает?

Представьте, что вы находитесь в комнате с человеком, которому завязали глаза.

На столе перед вами лежат два шарика — белый и черный.

Вам необходимо доказать второму человеку (верификатору), что шарики действительно разных цветов, при этом не раскрывая каких именно.

  • Для этого вы должны попросить его спрятать оба шарика под стол.
  • После этого попросите достать только один, чтобы вы могли его увидеть.
  • Далее шарик снова прячется и в следующий раз верификатор снова может показать либо белый, либо черный.
  • Однако вы сможете доказать утверждение, поскольку точно знаете, менял ли он их под столом.

Тем не менее полностью верификатор в истинности факта не будет уверен, ведь могли иметь место удача или обман.

Эта проблема решается путем повторения эксперимента n количество раз. С каждым раундом шанс случайно оказаться правым будет уменьшаться вдвое: после пяти повторений вероятность обмана составит 1 к 32, после 10 раундов — 1 к 1024, а после 20 раундов — примерно 1 к 1 000 000.

Благодаря повторениям можно добиться желаемого уровня надежности доказательства, однако абсолютной уверенности достичь при этом невозможно.

Для чего используют доказательство с нулевым разглашением?

Одним из очевидных применений доказательства с нулевым разглашением в криптовалютах можно назвать проверку наличия у пользователя средств для транзакции, при этом не раскрывая участникам сети, кто этот пользователь и сколько денег у него на счету.

Этот протокол также можно использовать в сферах, где необходимо обеспечить безопасность данных (например, персональной информации) или проведение финансовой транзакции.

Доказательство с нулевым разглашением может играть роль инструмента, который обеспечивает верификацию данных и пользователей, предоставление привилегированного доступа и установление доверенных соединений.

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 для приватности транзакций в блокчейнах с возможностью валидации нодами. Проект получил Знак Качества Европейской Комиссии и имеет партнеров, таких как VMWare, Ant Financial и Deloitte.

StarkWare создала решения на основе протокола zk-STARKs для интеграции в существующие сети. Проект привлек финансирование от Виталика Бутерина, Pantera Capital, Intel Capital, Sequoia Capital и других инвесторов.

Голландский банк ING выпустил протокол ZKRP для доказательства заработной платы клиента в диапазоне, необходимом для получения ипотечного кредита, без раскрытия суммы.

  • Подписывайтесь на новости Cryptoit в Telegram:
  • Cryptoit Live — вся лента новостей,
  • Cryptoit — самые важные новости и опросы.
CryptoIt