Централизация в биткойн-майнинге: исследование

Централизация в биткойн-майнинге: исследование на основе статистических данных

Vargos

02.04.2020

Централизация в биткойн-майнинге: исследование на основе статистических данных

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

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

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

TokenAnalyst предлагает несколько метрик, связанных с деятельностью майнинговых компаний, включая: баланс удерживаемых ими биткойнов, сколько BTC они отправляют и получают, а также контролируемый ими процент от общего хешрейта сети. Для расчета наших метрик мы определяем, какие адреса контролируются майнерами (то есть закрытые ключи от каких адресов им известны), и идентифицируем добываемые ими блоки. Для того чтобы создать лучшее в своем классе предложение данных, мы интегрировали несколько источников информации и провели тщательное исследование с целью анализа и устранения несоответствий, а также применили собственные методы моделирования для создания максимально полного и актуального набора данных о майнерах.

Тегирование блоков

Каждый добавляемый в блокчейн Биткойна блок содержит набор транзакций. Первую транзакцию в каждом блоке называют coinbase-транзакцией. Она отличается от остальных тем, что в ней не расходуются непотраченные выходы (UTXO) от предыдущих транзакций. Однако coinbase-транзакция производит выходы, или биткойны, которые являются наградой майнеров за успешное подтверждение транзакций в блоке. Таким образом, эта транзакция генерирует новые биткойны в пределах текущего уровня награды за блок (на сегодняшний день 12,5 BTC, в мае ожидается сокращение вдвое [халвинг]). Также в этой транзакции майнер может получить комиссию, которую отправители остальных транзакций были готовы заплатить (когда спрос на транзакции превышает доступное пространство блока, майнеры обычно выбирают в первую очередь транзакции с наибольшей комиссией).

Централизация в биткойн-майнинге: исследование на основе статистических данных

Это обычная биткойн-транзакция. Два адреса (или хеши открытого ключа) тратят 3 UTXO в транзакции, которая генерирует один новый неизрасходованный выход стоимостью 5 BTC. Разница между входами и выходами составляет 0,1 BTC, которые майнер может затребовать в качестве комиссии.

Централизация в биткойн-майнинге: исследование на основе статистических данных

Coinbase-транзакция. В ней нет расходуемых UTXO, но майнер может использовать эту транзакцию для получения награды за блок в размере до 12,5 BTC и для сбора комиссий за транзакции, которые ему удалось включить в блок. Поле coinbase-данных часто содержит идентифицирующий майнера тег. Эта транзакция включает тег BTC.com.

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

Вместо входов, coinbase-транзакция имеет поле, которое может содержать до 100 байт произвольных данных. Учитывая огромное количество хешей, необходимых для успешного майнинга блока, это поле является важным источником энтропии, но очень часто оно используется также для кодирования шестнадцатеричного представления строки (или тега), которое можно использовать как своего рода идентификационную подпись. Многие майнеры вставляют свой тег, чтобы показать, что это они добыли данный блок. Вот, например, шестнадцатеричные данные в поле блока 614 884:

03e46109049b03305e455530322f4254432e434f4d2ffabe6d6d6b30cb489fb6061752ac81e

93d4d7943d6cfd5fa63ca8afabad6c97c9c76015c08000000ceeed33d27a5939ca51d030000

000000

В UTF-8 это переводится как (и обратите внимание на тег BTC.com, добавленный в эту транзакцию):

�a �0^EU02/BTC.COM/��mmk0�H��R���=MyC����cʊ����|�v\\���=’����

Тег /BTC.COM/ указывает на то, что этот блок, вероятно, был добыт BTC.com. Это необязательно так. Поскольку любой майнер может включить в добытый блок любые данные длиной до 100 байт, при желании они легко могут пометить блок любым другим именем, включая название другого майнинг-пула. Поэтому важно не полагаться исключительно на тег как источник истины. Майнинг-пул может попытаться скрыть свою реальную долю в хеширующей мощности сети, тегируя блоки разными именами, как будто они были добыты разными субъектами, а не одним.

Централизация в биткойн-майнинге: исследование на основе статистических данных

Шестнадцатеричные coinbase-строки (слева) и декодированный UTF-8 эквивалент (справа), теги майнеров выделены красным.

Маркировка адресов

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

что этот субъект единолично контролирует закрытый ключ от этого адреса.

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

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

Это, конечно, упрощение – есть множество моделей выплаты вознаграждений участникам майнинг-пулов. В наших исследовательских процессах, мы (вслед за Ромити и соавт.), в частности, исходим из допущения, что, если в блоке для получения награды за майнинг используется один адрес, то этот адрес принадлежит майнинговому пулу. В этих блоках мы можем использовать coinbase-тег для извлечения вероятного имени майнера и присвоить адресу эту метку. Последующий процесс состоит в проверке того, на какие адреса этот помеченный адрес когда-либо переводил биткойны. Применяя эвристику владения общим входом (англ., PDF) (способ кластеризации адресов на основании использования одних и тех же входов транзакций), если он кластеризуется исключительно с помеченными адресами одного и того же субъекта, то мы более чем уверены, что этот адрес контролируется тем же субъектом.

Централизация в биткойн-майнинге: исследование на основе статистических данных

В двух транзакциях на картинке выше, если исходить из эвристики владения общим входом, хеши открытых ключей A, B, C и E должны контролироваться одним субъектом.

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

Метрики

По состоянию на конец января coinbase-транзакции когда-либо получали 276 тысяч различных адресов. После применения наших алгоритмов маркировки и тщательного контроля наших метрик для каждого майнера, нам удалось промаркировать более 148 тысяч адресов майнеров во всей истории блокчейна Биткойна. Из этих 148 тысяч меченых адресов, только 6,3 тысячи когда-либо получали coinbase-транзакции. Остальные адреса использовались майнерами для других целей, таких как внутренняя маршрутизация и кошельки для сдачи, используемые для облегчения выплат участникам пула.

Централизация в биткойн-майнинге: исследование на основе статистических данных

Из 276 тысяч адресов, когда-либо получавших coinbase-вознаграждения, 270 тысяч никак не помечены, а 225 тысяч из них (81,5% от общего числа) использовались только один раз. Из 6,3 тысячи помеченных адресов, получавших награду за блок, только 517 (0,2% от общего числа) получали награду за блок более одного раза. Однако на эти 517 адресов в последние годы приходится существенная часть от выплачиваемых вознаграждений за блоки.

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

Как показано в таблице ниже, все 10 самых многократно используемых для получения награды за блоки адресов принадлежали известным субъектам (некоторые из которых уже прекратили свою деятельность) и использовались для получения награды более чем за 10 000 блоков каждый:

ПозицияКоличество использованийАдресМайнер
151 3621KFHE7w8BhaENAswwryaoccDb6qcT6DbYYF2Pool
226 20414cZMQk89mRYQkDEj8Rn25AnGoBi5H6uerBTCGuild
323 0831CjPR7Z5ZSyWk6WtXvSFgkptmpoi4UM9BCGhash-io
419 7331CK6KHY6MHgYvmRQ4PAafKYDrg1ejbH1cESlushPool
516 858152f1muMCNa7goXYhYAQC61hxEgGacmncBBTCC
616 38718cBEMRxXHqzWWCxZNtU91F5sbUNKhL5PXViaBTC
713 7491Hz96kJKF2HLPGY15JWLB5m9qGNxvt8tHJBTC-Top
813 391bc1qjl8uwezzlech723lpnyuza0h2cdkvxvh54v3dnBTC-com
913 2961Nh7uHdvY6fNwtQtM1G5EZAFPLC33B59rBAntpool
1010 33918d3HV2bm94UyY4a9DrPfoZ17sXuiDQq2BEligius

По цифрам в этой таблице нельзя судить об общем количестве добытых блоков, за исключением F2Pool, который, похоже, использовал для получения награды за майнинг только один адрес: 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY. Остальные майнеры используют по нескольку адресов. Мы отслеживаем больше 100 разных субъектов, занятых в майнинге. Наибольшее количество адресов мы получили для BTC China (BTCC), HaoBTC (Bixin), Poolin и Slushpool.

Сегодня 95% добываемых блоков приходится на майнинг-пулы, помеченные TokenAnalyst.

Централизация в биткойн-майнинге: исследование на основе статистических данных
Доля майнеров (%) в общем хешрейте Биткойна от года к году.

Доля в общем хешрейте сети, приписываемая различным майнинговым пулам. Адреса майнеров, контролирующих наибольшую долю от хешрейта сети за последние 12 месяцев, помечены TokenAnalyst.

Что такое майнинг-пул?

Мы в TokenAnalyst проводим многократные проверки качества наших данных. Изучая список добытых блоков, представленный на сайте пула BTC.com, мы обратили внимание, что он не совсем совпадает с блоками, coinbase-транзакция которых содержит тег /BTC.COM/. Последним (на 27 января 2020 г.) блоком, содержащим тег /BTC.COM/ и не заявленным на сайте пула, был 614297. На ум приходит пара возможных объяснений:

  • Кто-то записывает в блоки тег BTC.com, чтобы скрыть собственные хеширующие мощности
  • Неизвестный майнинг-пул использует серверное ПО BTC.com, которое добавляет этот тег по умолчанию, а они не обратили на это внимание

Однако при дальнейшем исследовании оказалось, что тот же адрес (bc1qjl8uwezzlech723lpnyuza0h2cdkvxvh54v3dn), который использовался BTC.com для получения награды за добытые блоки более 13 000 раз, был адресом получения награды и за этот блок. Это можно было бы списать ошибку на странице со списком добытых пулом блоков, но на конец января таких блоков – с тегом /BTC.COM/, но не завяленных на странице пула – было всего 658.

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

кто-то занимается майнингом от имени BTC.com, используя оборудование, не контролируемое пулом напрямую.

В декабре 2018 года была запущена платформа для облачного майнинга BitDeer, партнерами которой были заявлены AntPool and BTC.com. Она предлагает пользователям возможность арендовать майнинговые мощности платформы, без необходимости покупать и настраивать собственное оборудование для майнинга. Проверка данных coinbase-транзакции для данного конкретного блока показала наличие тега /BTC.COM/BitDeer. Поскольку BTC.com не указал его в списке добытых блоков, BitDeer, вероятно, оперировал оборудованием вне инфраструктуры пула BTC.com, а награду за блок направил на адрес, используемый BTC.com. После этого BTC.com должен был инициировать платежи майнерам с платформы BitDeer. Цепочка доверия выстраивается от потребителей платформы для облачного майнинга BitDeer до операторов майнингового пула и обратно. Кроме того, BitDeer объявили о партнерстве с производителем майнингового оборудования Bitmain (владельцем AntPool), который через это соглашение о сотрудничестве получил мощный способ обеспечить использование своей линейки AntMiner группой крупных майнинговых пулов в непростой, как кажется со стороны, для себя период. Уровень сотрудничества и доверия, необходимый для функционирования такой модели майнинга между майнинг-пулами, Bitmain и BitDeer, стирает грань между различными субъектами. На данный момент партнерская модель BitDeer выглядит следующим образом:

Централизация в биткойн-майнинге: исследование на основе статистических данных

Связи между производителем чипов и майнинговыми пулами через платформу для облачного майнинга BitDeer.

По состоянию на 27 января 2020 года эти пять субъектов майнинга контролировали 49,9% хешрейта сети Биткойна.

Централизация в биткойн-майнинге: исследование на основе статистических данных
Доля майнеров (%) в общем хешрейте Биткойна.

Майнинг-пулы, доступные через платформу BitDeer, контролируют в общей сложности около 50% хешрейта сети Биткойна.

Коллаборационизм и сотрудничество позволяют участвующим майнинг-пулам хеджировать риски – риск отключения от сети одного майнингового предприятия, риск массового переключения клиентов между пулами, риск изменения стоимости электроэнергии в отдельных регионах. После того, как потребитель перевел BitDeer деньги согласно выбранному тарифному плану, он может применить полученный хешрейт в любом из партнерских майнинговых пулов. Но имеет ли еще какой-то смысл разделение между ними? Что мешает майнинговым пулам объединиться в одну большую компанию, сохранив определенную степень разделения через структуру адресов?

Еще одну аномалию мы заметили во время проверки наших данных для BTC.top и 1THash&58Coin. Мы обнаружили, что адреса, используемые этими двумя майнерами для получения coinbase-транзакций, либо впоследствии нарушали общую эвристику владения общим входом через совместное расходование, либо фактически контролируются одним и тем же субъектом. Для одного из этих адресов, который использовался для получения выходов coinbase-транзакций начиная с блока 474 000, тег майнера в транзакциях изменялся с /BTC.TOP/ на /canoepool/, а позже – на текущий тег, /1THash&58COIN/:

БлокиАдрес(а) выплатТег
474000 – 497286147SwRQdpCfj5p8PnfsXV2SsVVpVcz3aPq/BTC.TOP/
500540 – 539426147SwRQdpCfj5p8PnfsXV2SsVVpVcz3aPq/canoepool/
591615 – настоящее время147SwRQdpCfj5p8PnfsXV2SsVVpVcz3aPq/1THash&58COIN/

Выводы

За десять лет существования Биткойна майнинг сильно изменился. К ранним энтузиастам со стойками GPU добавилась большая потребительская база, которая позже перешла на FPGA и ASIC майнеры и в конечном счете сформировала майнинг-пулы, поскольку сложность майнинга блоков постоянно росла. Сегодняшние крупномасштабные платформы облачного майнинга, как BitDeer, еще больше снизили входной барьер, позволив людям приобретать планы с различным хешрейтом и на разные сроки. Им необязательно вкладывать в майнинг собственный капитал, не нужно думать о сложной настройке и техническом обслуживании оборудования. Само по себе это положительный момент. Вместе с тем, любая централизация хеширующей мощности сети Биткойна должна вызывать беспокойство, поскольку это подрывает trustless (не требующую доверия) модель сети. Потребители, желающие выйти на рынок майнинга (и те, что уже в нем участвуют), всегда должны быть осведомлены о реальной конкуренции между субъектами майнинга, и убедиться, что ни один из них не контролирует слишком большую долю в хешрейте той или иной сети. Такого понимания сложно достичь, если вам неизвестно, что в действительности представляет собой тот или иной субъект майнинга. Так какие же шаги вы лично можете предпринять для обеспечения безопасности сети Биткойна?

Первоначальная модель биткойн-майнинга заключалась в том, чтобы иметь большое количество независимых майнеров, что сделало бы практически невозможной атаку на сеть путем отмены транзакций. Однако из-за высокой конкуренции за получение чрезвычайно ценной награды за блок, единственный детерминированный способ заработать BTC путем майнинга заключается в том, чтобы присоединиться к майнинг-пулу. Поэтому не ленитесь провести собственное исследование, прежде чем подключить свое оборудование или заплатить за хешрейт-план с подключением к тому или иному пулу. Присоединение к более независимому майнинговому пулу или к пулу с меньшей долей в хеширующей мощности сети будет способствовать сохранению целостности сети. Если все майнинговые пулы будут вынуждены работать сообща с общей целью поддержания работоспособности и безопасности сети (что и происходит в нормальных условиях), такой выбор не повлияет на ваш доход – он будет соответствовать вашему хешрейту. Другой вариант – это запустить собственный узел Casa.

Источник