Систематизация знаний по используемой криптографии в блокчейне. Обзор используемых криптографических понятий в блокчейне. Доказательства с нулевым разглашением.

Ruslan Ospanov 26 November 2022 Применение blockchain, application, cryptocurrencies, cryptography, алгоритм, алгоритмы, блокчейн, криптовалюты, применение, криптография, криптографические протоколы 417

Недавно (20 июня 2019 года) на Cryptology ePrint Archive была опубликована статья "SoK of Used Cryptography in Blockchain". Данный пост - семнадцатый в запланированной серии, содержащей любительский перевод этой статьи.

 

Систематизация знаний по используемой криптографии в блокчейне

(перевод с английского

статьи

Mayank Raikwar, Danilo Gligoroski and Katina Kralevska

SoK of Used Cryptography in Blockchain

Cryptology ePrint Archive, Report 2019/735

https://eprint.iacr.org/2019/735)

 

Аннотация

(перевод аннотации здесь)

1 Введение (перевод введения здесь)

1.1 Наш вклад (перевод здесь)

2 Методология исследования (перевод здесь)

3 Основные понятия блокчейна

3.1 Криптографическая хэш-функция (перевод здесь)

3.2 Механизмы консенсуса (перевод здесь)

3.3 Сетевая инфраструктура (перевод здесь)

3.4 Типы блокчейна (перевод здесь)

4 Проблемы в блокчейн

4.1 Безопасность и приватность (перевод здесь)

4.2 Проблемы масштабируемости (перевод здесь)

4.3 Форкинг (перевод здесь)

4.4 Производительность (перевод здесь)

4.5 Энергопотребление (перевод здесь)

4.6 Инфраструктурные зависимости (перевод здесь)

5. Обзор используемых криптографических понятий в блокчейне

5.1 Схема подписи (перевод здесь)

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

В доказательствах с нулевым разглашением [139] участвуют две стороны, доказывающая и проверяющая. Во-первых, доказывающий утверждает некоторое утверждение и доказывает его достоверность проверяющему, не раскрывая никакой другой информации, кроме самого утверждения. Таким образом, доказательство с нулевым разглашением подтверждает утверждение о том, что «передача актива действительна», ничего не раскрывая об активе. Протоколы с нулевым разглашением — чрезвычайно полезные криптографические протоколы для обеспечения секретности в приложениях. Их можно использовать для обеспечения конфиденциальности актива (транзакционных данных) в блокчейне при сохранении актива в блокчейне. Некоторые общедоступные блокчейны используют доказательства с нулевым разглашением, такие как Zerocoin [124] или Zerocash [57], для транзакций, которые невозможно отследить или связать. Zerocoin — это децентрализованная микс и расширение Bitcoin для обеспечения анонимности и невозможности привязки транзакций за счет применения доказательств с нулевым разглашением. В протоколе Zerocoin пользователь, у которого есть биткойны, может генерировать равную стоимость Zerocoin-ов без необходимости использования какого-либо стороннего набора для микширования. Пользователь может потратить свой биткойн: 1) создав безопасное обязательство (т.е., Zerocoin), 2) записав его в блокчейне и 3) транслировав транзакцию и доказательство с нулевым разглашением для соответствующего Zerocoin. Следовательно, другие пользователи могут проверить Zerocoin, записанный в блокчейне, и проверить транзакцию вместе с доказательством. Здесь доказательство с нулевым разглашением защищает привязку Zerocoin к пользователю, однако протокол Zerocoin является дорогостоящим из-за его высокой сложности и большого размера доказательства.

Чтобы уменьшить сложность и размер доказательства, протокол Zerocash использует вариант доказательства с нулевым разглашением, известный как краткий неинтерактивный аргумент знания с нулевым разглашением (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zk-SNARK)) [140]. zk-SNARK скрывает информацию о сумме и адресе получателя в транзакции. Основная идея zk-SNARK заключается в том, что «любое вычислительное условие может быть представлено арифметической схемой, которая принимает некоторые данные в качестве входных данных и выдает в ответ истину или ложь». zk-SNARK уменьшает размер доказательства и вычислительные затраты по сравнению с базовыми доказательствами с нулевым разглашением. Ориентированная на предприятия версия Ethereum, блокчейн-платформа Quorum [141], также использует zk-SNARK для конфиденциальности и анонимности транзакций. Рисунок 7 иллюстрирует интерактивный протокол с нулевым разглашением, когда у доказывающего есть утверждение, и он/она хочет доказать, что утверждение верно, не раскрывая никакой информации, связанной с утверждением. В интерактивном протоколе проверяющий задает множество вопросов, связанных с утверждением, а доказывающий отвечает на эти вопросы таким образом, что доказывающий подтверждает утверждение и не раскрывает никакой необходимой информации.

 

Рисунок 7: Интерактивный протокол с нулевым разглашением.

Related Post