Предлагаем вашему вниманию статью Григория Маршалко (ФСБ России, эксперт технического комитета по стандартизации «Криптографическая защита информации»), подготовленную для научно-технического журнала «Радиофронт». В сентябре 2017 года автор выступил с докладом на пленарном заседании Форума «ПРОФ-IT», прошедшем в Ярославле в сентябре 2017 г.
Широко обсуждаемая в настоящее время технология блокчейн является ярким примером попытки поиска новых парадигм взаимодействия в цифровом мире. Единственным реально состоявшимся примером применения блокчейна на настоящий момент, по сути, являются криптовалюты.
Архитектура систем, реализующих криптовалюты, построена исходя их достаточно специфических условий, в которых они используются, а именно: отсутствие единого управляющего центра, анонимность (или псевдонимность пользователей). В этом случае необходимо использовать механизм, который может заменить традиционно используемую для обеспечения взаимодействия между пользователями доверенную третью сторону (администратора). Такой механизм, реализованный, например, в криптовалюте биткоин, использует общедоступный распределенный или точнее реплицированный (т.е. находящийся в идентичных копиях у пользователей) реестр произведенных в системе операций.
Реестр построен таким образом, чтобы в него было вычислительно сложно внести изменения. Это достигается посредством использования криптографических механизмов при формировании реестра: функций хэширования и электронных подписей.
Поскольку в системе отсутствует администратор, который уполномочен вносить изменения в реестр, то используются т.н. механизмы консенсуса. По сути, это некоторые вероятностные алгоритмы (т.е. алгоритмы, время выполнения которых не детерминировано), которые позволяют выбрать временного администратора для выполнения текущей операции.
На практике в качестве таких алгоритмов используются алгоритмы нахождения решения некоторых вычислительно сложных математических задач, например, нахождения значения хэш-функции из заданного диапазона (т.н. методы доказательства работы, Proof-ofwork).
Попытки же применения блокчейна в других областях, связанных с уже существующими финансовыми и правовыми отношениями (регистрация прав, контроль за движением товаров и прочее), сталкиваются с тем, что подобные архитектурные решения не адекватны стоящей перед разработчиком задаче, что требует изменения структуры системы и логики ее работы.
Например, необходимость аутентификации абонентов делает излишним применение описанного выше механизма консенсуса, использующего метод доказательства работы, взамен которого используются, например, механизм византийского соглашения или доказательства полномочий (Proof-of-authority).
В этой связи наибольшей проблемой для технологии блокчейн являются массовые попытки ее внедрения там, где это нецелесообразно. Дело в том, что для большинства современных вариантов ее применения ответ на вопрос, возможно ли реализовать аналогичную систему без блокчейна, будет положительным. Более того, как показывает проведенный к настоящему моменту анализ, децентрализованный блокчейн в своем современном виде не подходит для использования в масштабных высоконагруженных системах вследствие естественных ограничений по производительности (сложности достижения консенсуса и необходимости хранения больших объемов данных).
В случае использования его централизованных (частично централизованных) вариантов характеристики информационных систем получаются хуже, чем характеристики систем, используемых в настоящее время. На рис. 1. приведена диаграмма выбора того или иного варианта блокчейн-систем в зависимости от требуемого функционала.
C точки зрения вопросов информационной безопасности необходимо рассмотреть два аспекта безопасности блокчейна: теоретический и практический. Теоретический, прежде всего, связан с общей научной непроработанностью обоснования безопасности протоколов консенсуса.
Для наиболее старого, используемого в криптовалюте биткоин, протокола Proof-of-Work к настоящему моменту предложено большое количество различных атак, некоторые из которых достаточно просто могут быть реализованы практически. Большинство из них связано с отсутствием управляющего центра и основано на воздействии на сетевые протоколы и изменении параметров внутреннего трафика сети. В этом случае нарушитель тем или иным способом воздействует на сеть, модифицируя или перенаправляя передаваемые пакеты таким образом, чтобы, например, лишить атакуемого пользователя доступа к копиям истинного реестра и возможности проверки транзакций.
Также узлы, занимающиеся подтверждением транзакций (майнеры), могут действовать вопреки правилам системы, например, аккумулируя большие вычислительные мощности (т.н. атака 51%), что позволяет получать возможность управления системой.
Другие варианты достижения консенсуса, такие как доказательство владения долей (Proofof-stake, Delegated Proof-of-stake), доказательство владения дисковым пространством Proof-of-space, или обладают еще большим набором уязвимостей, или слабо изучены.
В целом на настоящий момент непонятно, каким должен быть безопасный протокол консенсуса с тем, чтобы обеспечивать стабильное функционирования блокчейн-системы продолжительное время с учетом возможного воздействия нарушителей.
С практической точки зрения разрабатываемые энтузиастами современные блокчейн-системы зачастую обладают серьезными уязвимостями, которые позволяют проводить хакерские атаки. Это в большей степени справедливо для области криптовалют. Широко известны атаки на криптовалютные биржи и отдельных пользователей, направленные прежде всего на кражи данных криптовалютных кошельков: Mt. Gox, Bitfinex, IOTA и др.
Необходимо отметить, что декларируемая децентрализованность блокчейн-систем во многом условна. Прежде всего, проблема централизации возникает вследствие наличия достаточно узкого круга разработчиков используемых протоколов и программного обеспечения, определяющих логику работы системы, что показывает история развития таких систем, как биткоин и эфереум. В связи с этим современные исследователи вводят понятия «управление с помощью инфраструктуры», подразумевая концепцию, согласно которой в логику работы системы может быть заложен алгоритм, который будет регулировать функционирование системы, и «управление инфраструктурой», т.е. когда разработчики управляют системой через изменение логики его работы.
Попытка использования блокчейна вне замкнутой цифровой среды, например, для регистрации объектов недвижимости, контроля за движением товаров, ставит вопрос юридической значимости регистрационных действий.
Даже не рассматривая нормативные и организационно-технические вопросы применения электронной подписи, критическим в таком случае является вопрос достоверности регистрации в системе событий или объектов, происходящих в реальном (физическом) мире. Это крайне проблемный вопрос и для существующих систем, и для технологии блокчейн. На сегодняшний момент отсутствуют доверенные способы такой (автоматической) регистрации.
Ряд исследователей связывают вопрос внедрения блокчейн именно с решением задачи разработки таких способов.
Cм. также презентацию доклада Григория Маршалко на пленарном заседании Всероссийского форума «ПРОФ-IT.2017».