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

Ruslan Ospanov 24 December 2019 Применение криптография, применение, алгоритмы, блокчейн 1133

Недавно (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. Построить инструмент тестирования на проникновение независимо от блокчейн-платформы для проверки требований безопасности и приватности для каждого уровня любой блокчейн-платформы.

Related Post