Недавно (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 Проблемы в блокчейне
Блокчейн как развивающаяся технология сталкивается со многими проблемами. Для преодоления этих проблем были предложены и реализованы различные решения в блокчейне. Распространение криптовалют через множество платежных систем несет в себе множество рисков в социальном, экономическом и техническом плане. Блокчейн сталкивается со многими проблемами, связанными с сетевой архитектурой, базовым протоколом консенсуса и применяемыми криптографическими примитивами. Некоторые из этих основных проблем - это безопасность и приватность, связанные с блокчейном, масштабируемость блокчейна и потребление ресурсов (вычислительная мощность, память, пропускная способность сети). В прошлом был представлен глубокий анализ перспектив и проблем исследований биткоина и других криптовалют [66], который дает хороший обзор масштабируемости, безопасности, приватности и консенсуса криптовалют.
Мы можем резюмировать наше обсуждение в Разделе 3.2 в форме общих проблем исследования и исследовательских задач в области механизмов консенсуса блокчейна следующим образом. Создайте новый механизм консенсуса блокчейна, который лучше, чем существующие, со следующих точек зрения:
1. Меньше энергопотребления;
2. Более эффективные достижения консенсуса;
3. Лучшая безопасность, чем существующие механизмы консенсуса.
Однако далее в статье, мы определяем более конкретную и целенаправленную исследовательскую задачу, мы формулируем ее в форме исследовательской проблемы. Например, из приведенного обсуждения в 3.1 мы можем сформулировать следующее:
Исследовательская проблема 1. Построить устойчивые блокчейн-системы, которые имеют одно из следующих свойств:
1. Они доказуемо устойчивы к тому, чтобы давать преимущества майнинга ASIC майнерам перед GPU и CPU майнерами;
2. Они доказуемо устойчивы к тому, чтобы давать преимущества майнинга ASIC и GPU майнерам перед CPU майнерами.
|
Конфиденциальность |
Целостность |
Доступность |
Приватность данных |
Анонимность |
Смарт контракт |
Шифрование |
МАС |
- |
Вычисления, сохраняющие приватность данных |
Вычисления, сохраняющие приватность личных данных |
Транзакция |
- |
Схема цифровой подписи |
Структура доступа к транзакциям |
Доказательства с нулевым разглашением, техники микширования |
Доказательства с нулевым разглашением |
Консенсус |
- |
Консенсус |
Контроль доступа |
Слепая или кольцевая подпись |
|
Сеть |
Шифрование |
МАС |
|
- |
Анонимность IP, например TOR |
База данных |
Контроль доступа |
Контроль доступа |
- |
Таблица 4. Многоуровневая архитектура блокчейна.
Если рассматривать блокчейн как многоуровневую архитектуру, то можно выявить проблемы, возникающие на каждом уровне. Таблица 4 показывает блокчейн в виде стека из пяти слоев. Эти пять слоев служат следующим целям:
- Уровень смарт-контракта обрабатывает данные контракта и отправляет результирующие данные на уровень транзакций.
- Уровень транзакций создает транзакции и отправляет их на уровень консенсуса.
- Уровень консенсуса запускает алгоритм консенсуса и добавляет транзакции в блок.
- Сетевой уровень имеет дело со всеми коммуникациями P2P между узлами блокчейна.
- Уровень базы данных хранит данные блокчейна в соответствующей базе данных, используемой соответствующей платформой блокчейна.
Таблица 4 дает представление о многоуровневой архитектуре блокчейна, а также упоминает некоторые криптографические методы для достижения таких свойств, как безопасность и приватность. В таблице 4 первый столбец определяет слои блокчейна, а первая строка иллюстрирует свойства, которые могут быть выполнены в разных слоях с использованием различных криптографических методов. Таким образом, чтобы понять, каждая ячейка соответствует развернутому криптографическому методу для достижения свойства в соответствующем столбце в соответствующем слое блокчейна (соответствующей строке). Например, шифрование может использоваться для достижения конфиденциальности на уровне смарт-контракта, код аутентификации сообщений (MAC) может использоваться для достижения целостности на сетевом уровне блокчейна. В таблице 4 перечислены некоторые из методов, используемых в блокчейне, но есть более доступные криптографические методы, которые могут быть использованы в блокчейне. “–” в таблице 4 означает, что соответствующее свойство для соответствующего слоя не имеет особого смысла. Некоторые из существенных проблем блокчейна заключаются в следующем.
4.1 Безопасность и приватность
Для любого блокчейна ключевым параметром оценки является то, насколько хорошо условия безопасности и приватности соответствуют требованиям блокчейна. Анализ вопросов безопасности и приватности блокчейна - это обширная область исследований, и в этой области были проведены некоторые исследования. Здесь мы не рассматриваем эти детали, вместо этого мы только определяем эти термины. Безопасность определяется как три компонента: конфиденциальность, целостность и доступность. В общем контексте (i) конфиденциальность - это набор правил, ограничивающих доступ к информации, (ii) целостность - это гарантия того, что информация является достоверной и точной, и (iii) доступность - это гарантия надежного доступа к информации авторизованных лиц. Однако, в случае блокчейна, термин Информация, используемый в приведенном выше контексте, может иметь несколько значений, таких как данные в базе данных, данные смарт-контракта или транзакции. Приватность может быть определена как приватность данных и приватность пользователей (анонимность). Таблица 4 включает некоторые криптографические механизмы для обеспечения безопасности и приватности информации, подчиненной различным слоям блокчейна.
В свете возросшего в последнее время количества инцидентов с безопасностью различных слоев блокчейн-платформ и хищением криптовалют стоимостью в миллионы долларов мы формулируем следующую исследовательскую проблему.
Исследовательская проблема 2. Построить инструмент тестирования на проникновение независимо от блокчейн-платформы для проверки требований безопасности и приватности для каждого уровня любой блокчейн-платформы.