Протокол с Нулевым Разглашением • Zk-snarks в эфириуме

Разработчики опубликовали код Bulletproofs+, системы доказательства с нулевым разглашением, которую можно использовать в протоколе Monero вместо существующей системы Bulletproofs. Новая конструкция сделает транзакции меньше, ускорится генерация кошельков, а участники сети будут быстрее их проверять.

Схема аутентификации Шнорра — Студопедия

  • обеспечение секретности и конфиденциальности информации;
  • обеспечение аутентичности субъектов информационного взаимодействия;
  • обеспечение целостности информации;
  • управление доступом;
  • невозможность отказа от факта отправки или получения сообщения;
  • доступность ресурсов.

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

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

Доказательство с нулевым разглашением — интерактивный вероятностный протокол, который позволяет доказать, что доказываемое утверждение верно, и Доказывающий знает это доказательство, в то же время не предоставляя никакой информации о самом доказательстве данного утверждения [7] . Данный криптографический протокол должен обладать тремя свойствами:
Код лицензирован с разрешениями, в надежде, что он может быть широко полезен. Если b 1, то Виктор просит Пегги указать гамильтонов цикл в H.

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

Доказательство с нулевым разглашением — Википедия (с комментариями)

Время создания доказательства обычно не является предметом практического беспокойства, поскольку программное обеспечение кошелька должно делать это только при совершении транзакции. Однако стоит отметить, что Bulletproofs+ range proof с двумя выходами (самый распространенный) генерирует на 10,2% быстрее! Время расстойки для другого количества выходов масштабируется примерно линейно.

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

К счастью, теперь мы в цифровом мире, и нам не нужна реальная машина времени для доказательства утверждений об этом протоколе. Главная хитрость в том, чтобы указать, что протокол будет работать не между людьми, а между двумя разными компьютерными программами (или, выражаясь более формальным языком, вероятностными машинами Тьюринга).
Доказаны следующие основные теоремы о доказательствах с нулевым разглашением знания. Bulletproofs range proofs меньше, чем Bulletproofs range proofs, что экономит место на блокчейне.

В нашем примере выше zk-SNARKs нельзя использовать, если Боб хочет доказать Алисе, что он знает секретное значение. Это связано с тем, что Алиса не может быть уверенной в том, что Боб не сохранил lambda параметр, и поэтому Боб может подделывать доказательства.

Доказательство с нулевым разглашением zk-SNARK: что это?

  1. Полнота: если утверждение действительно верно, то Доказывающий убедит в этом Проверяющего с любой наперед заданной точностью.
  2. Корректность: если утверждение неверно, то любой, даже «нечестный», Доказывающий не сможет убедить Проверяющего за исключением пренебрежимо малой вероятности.
  3. Нулевое разглашение: если утверждение верно, то любой, даже «нечестный», Проверяющий не узнает ничего кроме самого факта, что утверждение верно [8] .

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

Черноволов Петр Васильевич, старший консультант банка
Мнение эксперта
Черноволов Петр Васильевич, старший консультант банка
Если у вас есть вопросы, задавайте их мне.
Задать вопрос эксперту
1.3.2. Доказательства с нулевым разглашением знания • Когда до проверки остается 12 часов, гуглеры приходят в отчаяние. Так мы устранили шляпы, но как доказать, что это протокол с нулевым разглашением. Пишите, если возникли вопросы, мы во всем разберемся!

Monero тестирует систему конфиденциальности Bulletproofs | Блокчейн24 — новости криптовалют, ICO, прогнозы курсов, биржи, майнинг

Таким образом, запуск генератора должен являться безопасным процессом, защищенным от того, чтобы кто-то могу узнать или украсть параметр lambda. Это стало причиной чрезвычайно сложной церемонии, проведенной командой Zcash для создания доказательного ключа и ключа проверки, при этом все «токсичные отходы» lambda были уничтожены.
Использование zk-SNARKs в контракте токена будет выглядеть примерно так. Для этого Виктор и Пегги совместно выполняют несколько раундов протокола.

Атака на мультипротокольную систему нулевого знания [ | ]

Пещера нулевого разглашения
В данном примере некоторая сторона может доказать владение секретом, не обладая им на самом деле или, другими словами, может имитировать то лицо, которому на самом деле принадлежит секрет [38] . В настоящее время предложен способ решения проблемы Томасом Бетом [de] и Иво Десмедтом [en] [39] . Общая структура доказательств с нулевым разглашением.
Технология zk-SNARK уменьшает размер доказательств и объем вычислений, необходимых для их проверки. Она может доказать, что условия для действительной транзакции были выполнены, не раскрывая какой-либо важной информации о задействованных адресах или ценностях.

Введение в zk-SNARKs с примерами (перевод)

  1. Полнота: если утверждение действительно верно, то Доказывающий убедит в этом Проверяющего с любой наперед заданной точностью.
  2. Корректность: если утверждение неверно, то любой, даже «нечестный», Доказывающий не сможет убедить Проверяющего за исключением пренебрежимо малой вероятности.
  3. Нулевое разглашение: если утверждение верно, то любой, даже «нечестный», Проверяющий не узнает ничего кроме самого факта, что утверждение верно [10] .

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

Черноволов Петр Васильевич, старший консультант банка
Мнение эксперта
Черноволов Петр Васильевич, старший консультант банка
Если у вас есть вопросы, задавайте их мне.
Задать вопрос эксперту
Проблема гроссмейстера • Возможно, художники из Google закрасили граф случайным недействительным решением. Продемонстрировать корректность этого протокола тоже довольно легко. Пишите, если возникли вопросы, мы во всем разберемся!

Обман с несколькими личностями

Доказательство с нулевым разглашением — интерактивный вероятностный протокол, который позволяет доказать, что доказываемое утверждение верно, и Доказывающий знает это доказательство, в то же время не предоставляя никакой информации о самом доказательстве данного утверждения [7] . Данный криптографический протокол должен обладать тремя свойствами:
Доказательство знания дискретного логарифма х числа X. Представьте, что инженеры Google не настолько искусны, насколько кажется.

Мысленный эксперимент (с машинами времени)

Применение на практике
Если программой пользуется множество людей (например Zcash), доверенная независимая группа, отдельно от Алисы и Боба, может запускать генератор и создавать доказательный ключ pk, и ключ проверки vk таким образом, чтобы никто не узнал о параметре lambda. Каждый раунд, или аккредитация доказательства, состоит из трёх этапов.
Возможное решение основано на работе Мони Наора [en] и Моти Юнга [en] , которая заключается в следующем: Доказывающий и Проверяющий шифруют сообщения публичным ключом, это приводит к тому, что описанная выше атака перестает работать [43] .

Пещера нулевого разглашения

  1. Полнота: если утверждение действительно верно, то Доказывающий убедит в этом Проверяющего с любой наперед заданной точностью.
  2. Корректность: если утверждение неверно, то любой, даже «нечестный», Доказывающий не сможет убедить Проверяющего за исключением пренебрежимо малой вероятности.
  3. Нулевое разглашение: если утверждение верно, то любой, даже «нечестный», Проверяющий не узнает ничего кроме самого факта, что утверждение верно [10] .

Zk-SNARKs состоит из трех алгоритмов G, P, V определенных следующим образом: Генератор ключей G принимает секретный параметр lambda и программу C, и генерирует два публичных ключа: доказательный ключ pk, и ключ проверки vk. Эти ключи являются общедоступными параметрами, которые необходимо создать только один раз для данной программы C.

Определение zk-SNARKs

В 2005 году Джоном Ватрусом [en] было показано [ источник не указан 2337 дней ] , что не все системы с нулевым знанием являются устойчивыми к атакам с помощью квантового компьютера. Однако было доказано, что можно всегда построить такую систему, которая будет устойчива против квантовых атак, в предположении, что существуют квантовые системы с «сокрытием обязательств» [46] .
Если b 1, то Виктор просит Пегги указать гамильтонов цикл в H. Первым шагом Боб запускает генератор G, чтобы создать доказательный ключ pk, и ключ проверки vk.

❗Голосуйте в нашем опросе:

Понравилось? Поделись с друзьями:
Оставить отзыв

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