Недавно (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 Доказательства с нулевым разглашением (перевод здесь)
5.3 Контроль доступа (перевод здесь)
5.4 Схема шифрования
Это процесс кодирования части информации, с помощью которой только авторизованные стороны могут получить к ней доступ. Его можно использовать для обеспечения конфиденциальности данных блокчейна путем их шифрования. Существует множество схем шифрования, которые можно использовать в блокчейне. Шифрование с симметричным ключом используется в структуре Hyperledger для обеспечения конфиденциальности смарт-контракта [62] и блокчейна для умного дома [147]. Хотя поиск и вычисление над зашифрованными данными является большой проблемой, существует множество методов, которые можно использовать для этой цели. Некоторые из этих методов, такие как шифрование с возможностью поиска для поиска зашифрованных данных в облаке, уже используются в контролируемом блокчейне [148], а для вычислений над зашифрованными данными в блокчейне блоков также могут использоваться полностью гомоморфное шифрование и функциональное шифрование. Криптовалюта Monero [58] использует (наполовину) аддитивное гомоморфное шифрование вместе с методами подтверждения диапазона, но с поддержкой только транзакций со значениями.
Чтобы обеспечить одновременно конфиденциальность и подлинность данных, в блокчейне может использоваться аутентифицированное шифрование. При аутентифицированном шифровании два одноранговых узла устанавливают соединение, они оба обмениваются своими открытыми ключами и вычисляют общий секрет, который используется в качестве симметричного ключа для аутентифицированного алгоритма шифрования. Недавно завершившийся криптографический конкурс CAESAR [149] определил набор из шести шифров для аутентифицированного шифрования. На момент написания этой статьи (июнь 2019 г.) ни один из этих шифров не был развернут в какой-либо системе блокчейна.
Широковещательное шифрование может использоваться в блокчейне для обеспечения анонимности узлов-получателей блокчейна. [150] предлагает использовать блокчейн для обеспечения доступности и подотчетности IoT. Каждый пользователь в группе получает зашифрованное сообщение, хотя расшифровать его могут только пользователи с правильным разрешением или ключом.