Распространенное заблуждение о технологии блокчейна заключается в том, что ее невозможно взломать. Это заявление часто появляется в СМИ, обычно в сочетании с обсуждением возможностей взлома блокчейна.
Технология блокчейн разработана с рядом различных мер безопасности, которые помогают устранить необходимость в доверии внутри сети и защитить распределенный реестр от злоумышленников. Тем не менее, блокчейн, безусловно, нельзя взломать, о чем свидетельствует количество взломов блокчейна, о которых сообщалось на сегодняшний день.
Что такое блокчейн и чем он не является
Говоря о блокчейне и его возможностях для взлома, хорошей отправной точкой является определение того, что считается частью блокчейна. Технология блокчейна представляет собой большую экосистему, и к блокчейну можно подключить множество различных типов систем.
По своей сути технология блокчейна относится к системе, подобной биткойну. Сеть блокчейна поддерживает цифровую книгу, в которой записываются некоторые типы данных. В случае Биткойна это прежде всего финансовые данные, но, одна и та же структура, может использоваться для хранения данных любого типа.
Платформы смарт-контрактов используют это преимущество, используя блокчейн для хранения исполняемого кода. Платформа смарт-контрактов включает в себя программное обеспечение, которое реализует как базовый протокол блокчейна (который создает блоки, заполненные кодом), так и виртуальную машину, которая поддерживает состояние и обновляет это состояние на основе кода, хранящегося в реестре.
Такие системы, как Биткойн, платформы смарт-контрактов и код, который они запускают, явно являются частью «блокчейна». Определение становится нечетким, когда внешние системы интегрируются с блокчейном.
Например, криптовалютная биржа явно является частью блокчейн-пространства, но это всего лишь учреждение и веб-сайт, занимающийся проведением транзакций в блокчейне. Большинство взломов блокчейна на самом деле являются взломом криптовалютных бирж и не имеют ничего общего с безопасностью самого блокчейна.
Как можно взломать блокчейн?
Протокол блокчейна имеет ряд различных стимулов и мер безопасности, предназначенных для защиты от злоумышленников. Однако ни одна система не идеальна. Протокол блокчейна можно взломать или использовать различными способами.
Уязвимости блокчейна
Одной из наиболее распространенных причин взломов блокчейна являются уязвимые реализации протоколов блокчейна. Протокол блокчейна теоретически может быть очень безопасным, но он полезен только в том случае, если он реализован в коде. Ошибки в реализации этого кода могут сделать теоретически безопасный протокол уязвимым для атак.
Например, протокол Биткойн теоретически очень безопасен. Однако, ошибка реализации в программном обеспечении Биткойн (уязвимость целочисленного переполнения) создала уязвимость, которая была использована в 2010 году для создания 184 миллиардов биткойнов из воздуха.
Несоответствующие стимулы
Блокчейн предназначен для использования узлов в сети блокчейна. Он включает в себя стимулы, которые делают правильное поведение наиболее выгодным выбором. Однако эти стимулы не всегда работают.
Например, возьмем вознаграждение за блок, используемое в консенсусе блокчейна. Чем больше мощности майнинга у узла в блокчейне Proof of Work (PoW), тем больше денег майнер может заработать за счет вознаграждения за блок. Однако, сеть также не хочет, чтобы какой-либо узел накапливал слишком много мощности для майнинга, потому что это нарушает блокчейн (атака 51%). Управление узлами для накопления энергии полезно только до определенного момента.
Небезопасный дизайн
Базовый протокол блокчейна, описанный в официальном документе Биткойн, в значительной степени безопасен. Когда самая большая теоретическая проблема безопасности, которая у вас есть, заключается в том, что система, основанная на большинстве голосов, ломается, когда плохие парни имеют большинство (та самая Атака 51%), тогда система довольно хорошо спроектирована с точки зрения безопасности.
Многие проблемы безопасности, с которыми сталкиваются блокчейны, возникают, когда разработчики пытаются добавить дополнительные функции и функции поверх протокола блокчейна. Например, криптовалюта Verge подверглась атаке в 2018 году, когда злоумышленник смог провести атаку 51%, используя лишь около 10% хэш-мощности блокчейна, используя комбинацию функций внутри системы.
Уязвимости смарт-контрактов
Блокчейн — относительно новая технология. Смарт-контракты еще моложе, и некоторые приложения смарт-контрактов, такие как децентрализованные финансы (DeFi), все еще находятся в зачаточном состоянии.
Молодость этих технологий означает, что у разработчиков и экспертов по безопасности не было возможности полностью изучить их и устранить все ошибки. В результате многие смарт-контракты создаются с известными уязвимостями, и время от времени обнаруживаются новые уязвимости.
Как создавать безопасные решения на блокчейне?
Технология блокчейн похожа на любое другое программное обеспечение. Он может иметь уязвимости — будь то недостатки дизайна или ошибки реализации — которые могут быть использованы злоумышленником. Сложность и новизна блокчейн-экосистем означает, что эти уязвимости бывает трудно обнаружить и устранить.