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

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

Недавно (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 Схема шифрования (перевод здесь)

5.5 Безопасные многосторонние вычисления (перевод здесь)

5.6 Разделение секрета (перевод здесь)

5.7 Схема обязательств (перевод здесь)

5.8 Аккумулятор (перевод здесь)

5.9 Забывчивая передача (перевод здесь)

5.10 Забывчивая оперативная память (перевод здесь)

5.11 Доказательство возможности восстановления (POR) (перевод здесь)

5.12 Постквантовая криптография (перевод здесь)

5.13 Низкоресурсная (легковесная) криптография (перевод здесь)

5.14 Верифицируемая случайная функция (VRF) (перевод здесь)

5.15 Обфускация (перевод здесь)

6 Перспективные, но еще не использованные криптографические примитивы в блокчейне

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

6.1 Множественная (коллективная) подпись

Множественная (коллективная) подпись позволяет создать единую компактную подпись из k подписей на k различных сообщениях от k различных подписывающих лиц. Это обеспечивает более быструю проверку, а также сокращение объема памяти и полосы пропускания. Как и в блокчейне, требования к хранению и вычислениям высоки; множественные (коллективные) подписи могут использоваться для сокращения объема памяти и вычислений. Множественные (коллективные) подписи — это нетривиальное обобщение мультиподписей (где все пользователи подписывают одно и то же сообщение). Существует два основных механизма агрегации подписей: общая и последовательная агрегация. Чтобы описать эти механизмы, предположим, что есть набор из k пользователей, имеющих пару открытого и закрытого ключей (PKi ; SKi), и пользователь i, который хочет подписать сообщение Mi.

1. В общей схеме агрегации подписей каждый пользователь i (из группы k пользователей) создает подпись σi для своего сообщения Mi. Теперь, чтобы создать множественную подпись, любой может запустить общедоступный алгоритм агрегации, чтобы получить все k подписей σ1, σ2, …, σk и сжать их в одну подпись.

2. В схеме последовательного агрегирования подписей пользователь 1 подписывает M1 для получения σ1; затем пользователь 2 объединяет σ1 и М2, чтобы получить σ2; и так далее. Окончательная подпись генерируется пользователем k, который связывает Mk и подпись σk-1. Последовательное агрегирование подписей может происходить только в процессе подписания.

Методы агрегирования подписей известны для множества схем подписи, таких как DSA, схема Шнорра, на основе сопряжения и на основе решетки. Схемы множественных подписей должны ограничивать любого противника от создания действительной множественной подписи самостоятельно. Множественные подписи были предложены для Биткойна [95], и они могут быть применены к другим криптовалютам и проектам блокчейна.

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

Related Post