Вот уже третий год в пространстве биткоина не утихают дебаты о масштабировании. Суть споров заключается в том, что ограничение размера блока биткоина в 1МБ часто оказывается недостаточным для включения в блоки всех отправляемых пользователями транзакций. В конечном итоге это привело к замене ограничения размера блока на так называемый "вес блока" через технологию Segregated Witness, обеспечивающую теоретическое увеличение объема данных транзакций в блоке до 4 МБ (реальное увеличение примерно до 2 МБ). Кроме того, к ноябрю этого года группа из нескольких десятков компаний планирует провести хардфорк, который также должен удвоить и основной лимит.
Тем не менее, есть причины, позволяющие считать, что «кризис» был создан искусственно, по крайней мере, частично. Анализ, проведенный недавно разработчиком инструмента анализа блокчейна OXT ЛораномМТ (LaurentMT) и создателем ресурса p2sh.info Энтони Ле Кальвезом (Antoine Le Calvez) демонстрирует, что в течение двух последних лет в сети биткоина происходило множество спамовых транзакций. В состоящей из трех частей серии публикаций в блоге под названием «Моби Дик» (огромный белый кит из произведений американского писателя Германа Мелвилла - прим. ред.), они высказывают предположение, что к организации атак могли быть причастны некоторые крупные пулы майнинга биткоина.
Как происходили спам-атаки
Концепция «спама» в контексте биткоина иногда является очень спорной. Различия между «хорошими» и «плохими» транзакциями в сети, разработанной для бездоверительных платежей, могут быть довольно противоречивы.
Однако несомненно, существуют транзакции, созданные лишь для того, чтобы заполнить сеть и блокчейн биткоина. LaurentMT и Le Calvez дают спаму более узкое определение, называя его транзакциями, направляющими множество маленьких сумм биткоинов на множество различных выходов (адресов). Фактически, такие транзакции не могут использоваться для совершения платежей, хотя они значительно загружают сеть биткоина: всем узлам необходимо принять, проверить, передать и (по крайней мере, временно) хранить все эти данные.
Аналитики обнаружили, что под эту категорию попадают многие транзакции в сети: за два года это практически три гигабайта данных, плюс почти 2% общего размера блокчейна, что эквивалентно месяцу обычного использования биткоина.
«Мы обнаружили, что летом 2015 года прошло четыре волны «выходных» транзакций, - говорит LaurentMT о транзакциях, создающих много выходов, - мы считаем, что первые две волны спама были направлены на пользователей и сервисы. Третья и четвертая волны, наоборот, отправляли части биткоинов на адреса, контролируемые самими злоумышленниками».
Заметить эти четыре волны спама было относительно легко, так как внезапные выбросы транзакций на короткое время закупоривали сеть биткоина. В некоторых случаях о таких атаках даже объявлялось как о «стресс-тестах» или «раздаче биткоинов».
Самое интересное в анализе LaurentMT и Le Calvez то, что они оба сосредоточились на второй части головоломки. Практически все части биткоинов, отправленных на разные адреса, постепенно снова возвращались в обращение. Эти «выходные» транзакции не были так очевидны как первые волны, однако они точно также загружали систему.
LaurentMT утверждает, что следы большей части спама ведут к одной-двум компаниям:
«Мы определили два кошелька, которые, похоже, играли главную роль в этих атаках. Летом 2015 года они финансировали длинные цепочки выходных транзакций, а позднее они объединяли пылевые выходы».
Аналитики также предполагают, что виновником (или виновниками) спама могли быть клиенты канадской биржи QuadrigaCX. Однако на этом месте их анализ заканчивается.
Пулы майнинга
Возможно, еще интереснее будет узнать, кто подтверждал весь этот спам для заполнения блоков биткоина — разумеется, это могли сделать только пулы майнинга.
Спамовые выходы, сгенерированные первыми четырьмя волнами выходных транзакций, начали появляться примерно с начала осени 2015 года. Кто бы ни контролировал данные адреса, он должен был транслировать транзакции, чтобы потратить эти выходы в сети. Однако в течение длительного времени многие майнеры не включали эти «спамовые трансляции» в свои блоки, игнорируя их. Отдельно можно отметить два полных блока пула F2Pool - 364422 и 364423, в каждый из которых поместилось примерно по одной гигантской транзакции (кроме транзакции начисления монет).
Так было вплоть до второй половины 2016 года. Затем, в какой-то момент, группа из семи пулов майнинга почти одновременно начала принимать спамовые трансляции и включать их в добытые блоки: 1Hash, Antpool, BitClub Network, BTC.com, HaoBTC, Kano CKPool и ViaBTC.
«Следовательно, либо у этих семи пулов состоялся «момент просветления» и они внезапно поняли, что биткоин может сопротивляться цензуре. Или же у них был другой мотив заполнять блоки таким транзакциями — возможно, он относился к дебатам о размере блоков», - предполагает LaurentMT.
В поисках разгадки LaurentMT и Le Calvez обратились к серьезным событиям, происходившим с пулами майнинга в то время и отыскали определенные взаимосвязи. Первое - это открытое пиьмо HaoBTC (сейчас переименован в Bixin) команде разработчиков Bitcoin Core. Второе - слух о том, что группа китайских пулов планирует прекратить сотрудничество с Bitcoin Core: Terminator Plan.
Конечно, в сети биткоина постоянно происходит что-нибудь примечательное. Эти события вполне могут быть просто совпадениями, и тогда поведение пулов майнинга следует объяснять совершенно по-другому, признает LaurentMT:
«Альтернативное объяснение может заключаться в том, что разные пулы приняли новую политику майнинга по совершенно разным причинам. Я склонен больше склоняться к политической мотивации... однако это только мое личное мнение».
На просьбу прокомментировать ситуацию из семи пулов откликнулся только один - KanoCKPool, которые отрицал свое участие в каких-либо манипуляциях, заявив, что он просто подтверждает «все без исключения доступные транзакции».
Несколько позже LaurentMT сообщил, что пул Kano CK Pool, а также 1Hash и Bitclub Network являются единственными пулами, подтверждавшими некоторые спамовые транзакции до второй половины 2016 года, подтвердив, что, возможно, слова пула верны.
Комментарий Bits.media
Сейчас, спустя два года после описанных событий, "исследование" в части подтверждения спам-транзакций только группой пулов действительно выглядит странно. Во время проведения этих атак как в 2015, так и в 2016 году, спамовые транзакции наравне со всеми остальными подтверждались большинством пулов на основе приоритета по комиссиям, и ни один из них не заявлял об игнорировании этих транзакций по каким-либо признакам. Утверждение о том, что эти транзакции подтверждались исключительно тремя указанными пулами, не выдерживает никакой критики (очевидный пример - два приведенных выше блока F2Pool, в то время Discus Fish).
Существование и авторство "плана Терминатор" также под сомнением, так как они не были никак подтверждены впоследствии. Происходящее сейчас отстранение большой группы компаний (причем, из разных стран и мало связанных друг с другом) от сотрудничества с Bitcoin Core и поиск других команд разработки происходит по совершенно другим причинам. Наиболее радикально настроенные противники линии Bitcoin Core уже отделились, создав себе форк Bitcoin Cash.
Четыре из семи указанных пулов (1Hash, Bitclub, Ckpool и HaoBTC) в 2016, а тем более в 2015 году не играли существенной роли в сети и при всем желании не могли эффективно подтверждать в одиночку огромное количество спам-транзакций. А пул BTC.com и вовсе был открыт только в сентябре 2016 года, поэтому принимать участие в большей части описываемых событий просто не мог.
Кроме того, существенный трафик в сети Биткоина в первой половине 2017 года создавал пул Bitfury, который размещал в блокчейне Биткоина информацию из реестра недвижимости Грузии. В исследовании этот общеизвестный факт не упомянут.
Исходя из всего вышеизложенного, "политические" мотивы следует искать в первую очередь в самом исследовании, а не в предмете исследования. Фактически же полезного материала, кроме указания на происхождение некоторых транзакций с биржи QuadrigaCX, в этом исследовании очень мало.