BTC 83064.4$
ETH 2047.66$
Tether (USDT) 1$
Toncoin (TON) 2.72$
telegram vk
telegram vk Х
Russian English
"

Что такое доказательства с нулевым разглашением

Дата публикации:31.07.2023, 16:18
1273
1273
Поделись с друзьями!

Что такое доказательство с нулевым разглашением?

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

Исследователи Шафи Голдвассер, Сильвио Микали и Чарльз Ракофф впервые представили эту идею в начале 1980-х годов. Основная цель ZK-доказательства — убедить проверяющего в истинности утверждения, не раскрывая никакой информации, кроме правдивости утверждения.

Хорошее доказательство с нулевым разглашением должно соответствовать следующим трем критериям:

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

Существуют различные типы ZK-доказательств:

Интерактивные ZK-доказательства

Интерактивные доказательства с нулевым разглашением требуют обратной связи между доказывающим и проверяющим.

Неинтерактивные ZK-доказательства

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

Статистические ZK-доказательства

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

Доказательства знаний (PoK)

PoK — это подкласс ZK-доказательств, который показывает, что доказывающий обладает специфическими знаниями, связанными с утверждением.

Доказательства перетасовки и диапазона

Эти ZK-доказательства используются в электронном голосовании и транзакциях, сохраняющих конфиденциальность.

Сигма-протоколы

Протоколы Sigma представляют собой класс ZK-доказательств, которые включают три этапа: обязательство, вызов и ответ.

«Пуленепробиваемые» (Bulletproofs)

Bulletproofs предназначены для обеспечения эффективных доказательств диапазона для больших наборов значений.

Как работают доказательства с нулевым разглашением?

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

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

Проблема

Представьте, что у вас есть карта с несколькими областями (вершинами), соединенными линиями (ребрами). Ваша цель состоит в том, чтобы использовать один из трех цветов для окрашивания каждой области так, чтобы никакие две соседние части не имели одинаковый цвет. Можете ли вы убедить кого-то, что знаете правильную окраску, не раскрывая фактические оттенки, придаваемые каждой области?

Решение с использованием протокола ZK-proofs

Настройка

Доказывающая и верифицирующая стороны договариваются об областях и связях графа (карты).

Заявление

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

Раунд 1: Обязательство

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

Раунд 2: Вызов

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

Раунд 3: Ответ

После выбора цветов доказывающий теперь должен доказать, что обнаруженная окраска является точной. Это влечет за собой отображение цветовых различий между соседними разделами. Проверяющий проверяет ответ, чтобы убедиться, что доказывающий  следовал правилам.

Итерация

Раунды 2 и 3 повторяются много раз с использованием различных областей, выбранных случайным образом. Эта процедура повторяется столько раз, сколько необходимо для установления высокой степени доверия к правдивости утверждения доказывающего.

Заключение

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

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

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

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

ZK-доказательства — это полезные инструменты, которые широко используются в самых разных областях и решают важные вопросы конфиденциальности и безопасности.

ZK-доказательства имеют решающее значение в мире криптовалют для повышения конфиденциальности транзакций и масштабируемости. Они позволяют проводить анонимные транзакции без раскрытия деталей транзакции или личности пользователей, как в случае с криптовалютами, ориентированными на конфиденциальность, такими как Zcash (ZEC).

ZK-доказательства могут использоваться в полях аутентификации и контроля доступа, чтобы продемонстрировать знание пароля или криптографического ключа без раскрытия самого пароля или ключа. Это приводит к более удобным и безопасным методам аутентификации.

ZK-доказательства также используются в электронных системах голосования, где они позволяют избирателям продемонстрировать легитимность своего голоса, не раскрывая фактического голосования, защищая как конфиденциальность избирателя, так и честность избирательного процесса.

ZK-доказательства также имеют значение для безопасной передачи и проверки данных, давая одной стороне возможность продемонстрировать точность вычислений на частных данных, не раскрывая самих данных.

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

Можно ли интегрировать ZK-доказательства в блокчейн-платформы?

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

При интеграции в блокчейн-платформы ZK-доказательства могут служить нескольким целям:

Конфиденциальность

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

Проверка и аудит

Без раскрытия реальных данных или информации ZK-доказательства могут использоваться для проверки точности конкретных вычислений или утверждений. Это гарантирует целостность данных и делает возможными эффективные процедуры аудита.

Масштабируемость

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

Личность и аутентификация

Используя ZK-доказательства для безопасной проверки личности и аутентификации при защите конфиденциальности пользователей, приложения на основе блокчейна будут более безопасными.

Взаимодействие между сетями

ZK-доказательства могут помочь в мультичейновой связи и передаче активов, защищая при этом конфиденциальность, облегчая взаимодействие между различными сетями блокчейнов.

Каковы недостатки доказательств с нулевым разглашением?

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

Разработка и проверка ZK-доказательств может потребовать значительных ресурсов и вычислительных ресурсов, особенно для более сложных доказательств. Это может привести к увеличению времени обработки транзакций и вычислительной работы, что может затруднить масштабирование систем блокчейна.

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

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

Хотя ZK-доказательства обеспечивают полезные функции конфиденциальности и безопасности, их недостатки требуют тщательного изучения и оценки связанных с ними компромиссов до их внедрения в конкретные системы или приложения.

Подписывайся на наш Telegram канал. Не трать время на мониторинг новостей. Только срочные и важные новости

https://t.me/block_chain24