Атаки с реорганизацией блоков на блокчейн Bitcoin SV и ответные меры сети

Alex Speirs 150 x 150
By Jamie McKane Published: 20 августа, 2021
metallic nodes and links

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

Шеддерс отметил, что после этих событий он стал еще более уверен в протоколе биткоина и его устойчивости к атакам, даже перед лицом огромных хеш-мощностей, направляемых против честных узлов сети. Блокчейн Bitcoin SV наиболее точно соответствует исходному протоколу биткоина, описанному в «белой книге» Сатоши Накамото в 2008 году. Его сеть предлагает неограниченную масштабируемость и низкие комиссии за транзакции благодаря постоянно увеличивающемуся размеру блоков и полноценному языку сценариев, позволяющему реализовать полную функциональность смарт-контрактов.

Первая из атак с реорганизацией блоков на блокчейн BSV была проведена 24 июня 2021 года майнером, который, как считает команда по развитию инфраструктуры Bitcoin SV, выдавал себя за майнинговый пул Zulupool. Когда выяснилось, что за майнингом блоков стоит не Zulupool, команда по развитию инфраструктуры BSV разработала инструменты для выявления потенциальных атак с реорганизацией блоков и противодействия им.

Атака с реорганизацией блоков представляет собой попытку создать альтернативную историю транзакций путем майнинга в частном порядке длинной цепочки блоков с использованием хеш-мощностей, превосходящих по объему мощности честной сети. Альтернативная, более длинная цепочка блоков затем добавляется в блокчейн, и предпринимается попытка переключить честные узлы на эту более длинную, мошенническую цепочку. Такая цепочка блоков может быть использована для двойного расходования средств, которое запрещено протоколом биткоина и может быть выявлено с помощью инструментов, предназначенных для обнаружения недействительных транзакций.

Отражение атак

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

«Подготовительная работа, проведенная после первых атак, позволила команде по развитию инфраструктуры Bitcoin SV в считанные секунды после их начала выявить эти мошеннические блоки и оперативно сообщить о них широко известным и честным майнерам, которые решили отклонить мошеннические блоки, используя для этого собственные хеш-мощности. В итоге они отменили мошеннический форк и предотвратили двойное расходование средств», ― отметил Шеддерс.

Он объяснил, что Bitcoin Association также открыто сообщила о происходящем в блокчейне, чтобы разработчики блоков и наблюдатели могли выбрать верную, честную цепочку, над которой работали все честные майнеры.

«Bitcoin Association тогда опубликовала команду, с помощью которой честные майнеры отклонили ранее скрытые блоки злоумышленника, содержавшие двойное расходование, ― объясняет Шеддерс. — Мы сделали это, поскольку понимали, что у честных майнеров может уйти некоторое время на то, чтобы преодолеть цепочку злоумышленника, таким образом другие операторы программного обеспечения Bitcoin SV Node, не являющиеся майнерами (например, приложения, выступающие в роли наблюдателей), получили механизм для следования за цепочкой, которую выстраивали честные майнеры, пока она не стала самой длинной».

Благодаря таким ответным мерам во время второй волны атак не было зафиксировано ни одного случая двойного расходования — при том что, по имеющимся оценкам, злоумышленник потратил 200 тыс. долларов США, пытаясь совершить мошенничество в сети BSV. Несмотря на вложенные в эти попытки ресурсы, злоумышленник потерпел неудачу, и блокчейн BSV продолжает функционировать в соответствии с ожидаемой эффективностью: скорость обработки транзакций увеличивается, при этом за последний месяц в сети было добыто несколько рекордных блоков размером в 1 Гбайт и более.

Согласование защитных мероприятий с протоколом биткоина

Поскольку блокчейн Bitcoin SV основан на исходном протоколе биткоина, описанном в «белой книге», действия майнеров должны следовать правилам, которые были установлены при создании протокола. Шеддерс в подробностях рассказал о том, какие из частей «белой книги» применимы к ответным мерам, предпринятым честными майнерами для противодействия недавним атакам.

Из предложенного Шеддерсом объяснения действий, совершенных майнерами для защиты от этих атак, можно сделать следующий ключевой вывод: они придерживались описанного в «белой книге» правила «увиден первым».

«По сути, майнеры, несущие ответственность за обеспечение соблюдения правил, изложенных в протоколе биткоина, предприняли меры, чтобы отклонить недействительные транзакции, а значит и содержавшие их блоки, основываясь на правиле “увиден первым”, описанном в “белой книге” биткоина», ― указал Шеддерс.

Далее Шеддерс коснулся необходимости регистрации текущей или исторической точки зрения обозревателями статуса блокчейна, отметив, что небольшие расхождения между точками зрения ― нормальное явление в случае естественных сигналов длинных цепочек. Ссылаясь на различные части «белой книги», Шеддерс показал, как подобное расхождение между точками зрения может быть нейтрализовано, в частности в контексте атаки с реорганизацией блоков.

Шеддерс привел определения для понятий мошенничества, двойного расходования, честных цепочек и действительности данных, представленные в «белой книге», и подчеркнул, что необходимость транслировать блоки является одним из базовых требований, которые должны выполняться честными узлами для соответствия следующему критерию, описанному в этом документе: «Получателю нужно доказательство того, что для каждой транзакции из цепочки большинство пользователей согласны считать ее первой».

Недавняя серия атак против сети BSV продемонстрировала трудности, сопряженные с кодифицированием правил сети, а также необходимость вмешательства человека для защиты системы в тех случаях, когда правила сети нарушаются.

Шеддерс поясняет: «Не всегда возможно сформулировать правило в виде алгоритма, не обнажив при этом потенциальные векторы атаки при злонамеренном использовании этого алгоритма. Вот почему иногда необходимы человеческое суждение и вмешательство. Биткоин — это не код, а система, объединяющая множество независимых сторон, следящих за соблюдением определенного набора правил и отвергающих нарушения этих правил другими сторонами».

Подробный рассказ об атаках и согласовании ответных мер сети с «белой книгой» биткоина содержится в оригинальном посте Стива Шеддерса.