Китовая Охота

Китовая Охота

Это первая часть из серии статей, посвящённых результатам анализа спам-атаки на сеть Биткойна летом 2015 года (также известной, как Моби Дик). Этот анализ был проведён в сотрудничестве с Антуаном Ле Кавезом, из p2sh.info.

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

Учтите, что это исследование было проведено в максимально сжатые сроки, и ни коим образом не является всесторонним. Не стоит упоминания тот факт, что все ошибки и неточности — мои. Более чем когда либо, мы призываем всех (в особенности академиков) самостоятельно расследовать, в чём тут дело.

Немного истории

Между июнем и сентябрём 2015 года сеть Биткойна была жертвой нескольких спам атак (иногда называемых «стресс тестами»), провоцировавших сотни тысяч транзакций и несколько переполненных «мемпулов».

В качестве начального утверждения, мы опишем атаки в виде последовательности из 4-х периодов бешеной активности на протяжении лета 2015:

  • волна 1: между 16.05.2015 и 01.07.2015
  • волна 2: между 06.07.2015 и 17.07.2015
  • волна 3: между 25.07.2015 и 09.08.2015
  • волна 4: между 01.09.2015 и 07.09.2015

Кстати, 1 и 4 волны «официально» были заявлены как исполненные стартапом coinwallet.eu.

Волна 2 была задокументирована на Bitcoin Wiki однако автор атаки остаётся неизвестным.

Волна 3 кажется наиболее мистической. К вашему сведению, было опубликовано совсем мало материалов на эту тему, за исключением одной (отличной) работы. Эта работа была представлена публике Институтом Информационных Наук Лондонского Имперского Колледжа:

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

Как нарисовать первую карту неизвестных территорий?

Безусловно, моряку нужна карта перед выходом в открытое море. В нашем случае, это означает, что нужно получить (грубую) идею о наборе транзакций из которых состоят эти спам атаки.

При первом пристальном изучении блокчейна Биткойна становится ясно, что эти атаки в основном проводились благодаря длинным цепочкам разветвлённых транзакций, разделявших несколько входов на множество «пылевых» выходов. Более того, можно заметить, что выходы, сгенерированные этими транзакциями имеют одинаковый номинал (обычно — 1000 или 10000 сатоши) за исключением одного выхода, который использовался в качестве входа для следующей транзакции в цепочке.

Однако, как я писал в предыдущем твите, разветвлённые транзакции не описывают всей ситуации. Атака подобного рода состоит из двух фаз, вторая фаза базируется на входящих транзакциях, собирающих «пыль». Так что, нам точно необходимо добавить входящие транзакции в нашу карту.

С практической точки зрения, мы решили посмотреть все транзакции, что были включены в блоки между 08.06.2015 и 07.09.2015 и что имеют одинаковый номинал в 1000 и 10000 сатоши, за исключением единственного выхода, у которого другой номинал. Подходящие транзакции приняты в качестве набора входящих транзакций, составляющих первую фазу этих атак.

Затем, мы определили транзакции второй фазы в качестве тех, которые поглощают всю «пыль», что была сгенерирована транзакциями первой фазы.

Это две очень простые (и определенно не идеальные) эвристики, но этого должно быть достаточно для того, чтобы дать нам первоначальное представление о продолжительности Моби Дика и минимальном значении его влияния на блокчейн.

Заметка: Методы исчисления, использованные в этой статье

Транзакции, из которых состояли данные атаки, классифицируются так:

1. Фаза.

1 фаза — пылевые разветвлённые транзакции создают выходы

2 фаза – входящие транзакции, собирающие пылевые выходы

2. связанная с этим последовательность спама

Атака А = пылевые выходы по 10000 сатоши

Атака Б = пылевые выходы по 1000 сатоши

3. связанная с этим волна

Мы определяем волну в качестве временного периода, связанного со значительным увеличением пространства [в блоке], поглощённого спам-транзакциями.

Карта капитана Ахаба

Использование двух упомянутых выше эвристических методов даёт следующие результаты:

Первый вывод: в общем, по результатам всех атак, в блокчейне было занято приблизительно 2,9 Гб.

Если для вас эта цифра ничего не значит, вот несколько элементов сравнения:

  • она представляет собой около 2.28% от общего размера блокчейна на данный момент (измерено 09.07.2017) или 7.68% его размера на момент проведения атаки (01.07.2015);
  • это эквивалентно размеру блоков Биткойна, найдённых за декабрь 2015;
  • это эквивалентно размеру блоков Биткойна, наёденных в первые 20 дней мая 2017 (самый занятой месяц в плане активности людей на блокчейне).

Не так плохо для атаки, совершённой частным лицом или компанией!

Давайте отметим, что эта цифра — минимальная планка. Она не принимает во внимание дополнительные транзакции, используемые для сбора выходов «пыли» (на эту тему подробнее в третьей части цикла), также она игнорирует другие модели разветвлённых транзакций, которые мы могли упустить из виду. Важно отметить, что мы заметили (к сожалению, слишком поздно для включения их в данный анализ) случаи появления длинных цепочек транзакций с выходами «пыли» размером 10,073 сатоши, что может квалифицировать их как ещё одну атаку, исполненную в сентябре 2015 года.

Как мы и предполагали, фаза 2 (сбор «выходов пыли») потребовала больше пространства, чем фаза 1 (создание «выходов пыли»), однако ещё более интересный вывод безусловно состоит в том, что Атака Б была, до сегодняшних дней, самым мощным актом поглощения пространства в блокчейне и генерации «выходов пыли»; кроме того, на проведение атаки ушло рекордное количество усилий.

В конце концов, мы можем вычислить, что количество комиссий, уплаченное майнерам, примерно равно 274 BTC. Здесь важно заметить, что не все эти комиссии были уплачены атакующими. На самом деле, частично комиссии были оплачены сервисами и пользователями, на которые были направлены эти выходы «пыли». В любом случае, самым удивительным открытием стали очень маленькие комиссии, выплаченные во время 2 Фазы атаки (один или два случая, когда оплата была больше, относительно средней величины комиссии за тот же период).

В качестве дополнения, мы высчитали что 1,87 миллионов выходов пыли до сих пор остаются не потраченными (что составляет около 3.6% от всех данных UTXO).

Хорошим историям нужно время

Чтобы лучше понимать динамику этих атак, мы сделаем 2 графика, показывающих общий размер разветвлённых транзакций по мере того, как они включались в блоки.

Продолжительность во времени Атаки А (фаза 1)

проолжительность по времени Атаки Б (фаза 1)

Эти графики наталкивают на мысль, что Атака А могла быть первой попыткой, которую затем забросили из-за более эффективной модели, предоставленной Атакой Б. Последняя достигает своего максимального воздействия во время третьей волны.

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

Продолжительность по времени Атаки А (фаза 2)

Продолжительность по времени Атаки Б (фаза 2)

Тут следует сделать несколько важных наблюдений:

  • некоторые из транзакций второй фазы были сделаны во время волн 1-4, усиливая эффект раздувания бэклога (бэклог — список неподтвержденных транзакций) во время этого периода. Более того, некоторые из собранных «пылевых выходов» были позже использованы для финансирования следующих волн разветвлённых транзакций;
  • вторая фаза 4-й волны сама по себе (ответственность за нее взяли на себя coinwallet.eu) добавила около 400 Мб в сентябре 2015, за ней последовали 2 дополнительные «мелкие» волны, добавившие еще около 200 Мб в октябре и ноябре;
  • последние 2 волны ветвлённых транзакций произошли намного позже (март 2016 и позже).

Заключение

Мы просчитали значения предполагаемого размаха спам атаки, проведённой летом 2015 года:

  • В приблизительно 1,3 млн транзакций было занято примерно 2,9 Гб места (2,28% размера всего блокчейна Биткойна на момент выхода оригинала статьи);
  • Было сгенерировано более чем 16 млн транзакционных выходов, при этом, из них до сих пор не потрачены около 11,6%;
  • Около 274 BTC было потрачено на комиссии, средний показатель стоимости транзакций за период составил 9,4 sat/byte.

Мы заметили несколько последовательностей атак посредством нескольких волн но самое «удивительное» открытие состоит безусловно в существовании поздних седьмой и восьмой волн, добавивших около 1 Гб разветвлённых транзакций на протяжении 2016 года (во второй половине 2016 было добавлено около 700-800 Мб). Понимание причин появления этих последних волн будет темой следующей статьи.

 

Источник



Categories: Безопасность, Инфраструктура, Криминал, Криптофилософия, Новичкам, Технологии

Tags: , ,

Leave a Reply

2 Комментарий на "Китовая Охота"

Notify of
avatar
Участник

да это Bitfinex мурыжило с созданием кошельков для каждого юзера

но в итоге это не уберегло от кражи

Asd_Skala
Гость

Одних денег мало чтобы такое замутить, необходима мотивация (хотя бы самому ненавидеть биткоин), необходимо команда из нескольких человек, и эту команду надо тоже мотивировать, заставить умных людей вредить тяжело.

wpDiscuz