16.04.2024

Как Bitmain втайне майнит монеты: рассказ разработчика SiaStats

Hakkane (Сальва Эррера) – независимый разработчик блокчейна и владелец SiaStats.info, сайта, который представляет надёжную статистику в реальном времени по блокчейну Sia. Далее – от первого лица.

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

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

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

Блокчейн и «асики»

В отличие от блокчейнов, работающих на алгоритме Proof of Work, которым они служат, производители ASIC обычно не обеспечивают такой же уровень прозрачности. Неизвестное число хэшрейта, имеющееся у них для самостоятельного майнинга, неизвестные размеры батчей (партий), которые они продают (чтобы никто не мог оценить их прибыльность, которая заканчивается с насыщением рынка, когда майнеры уже ничего не зарабатывают), или тайный майнинг перед выпуском оборудованием – вот за что чаще всего критикуют производителей ASIC-оборудования. Последнее особенно настораживает.

Майнинг – это конкурентный процесс, при котором все майнеры делят между собой фиксированную награду за блок в соответствии с их хэшрейтом. Когда для блокчейна создается новое поколение ASIC, его первые владельцы извлекают больше всего прибыли, поскольку быстро обходят предыдущие поколения ASIC или GPU/CPU, которые заменяют. Майня самостоятельно и не выпуская оборудование в течение некоторого времени, производители ASIC могут наслаждаться своей привилегией (и профитом) эксклюзивно. Другими словами, они получают рыночное преимущество, конкурируя со своими же клиентами.

Поэтому, несмотря на то, что блокчейн – это парадигма прозрачности, за последние 2 года между криптосообществами и производителями возникло слишком много терок. Мировой лидер производства «асиков» Bitmain недавно провел кампанию, как он сам выразился, «радикальной прозрачности» и «диалога с криптовалютным сообществом». 25 июля 2018 года в блоге Bitmain появилась запись с такими словами:

«Политика нетерпимости против «секретного майнинга». … Сам Bitmain несправедливо обвиняли в этой практике. Bitmain ценит прозрачность и честную конкуренцию. Мы выступаем против такой практики и поддерживаем давнюю политику нетерпимости в отношении нее».

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

Bitmain добрался до Sia

Если бы я описывал появление Bitmain в сообществе Sia несколькими словами, я бы сказал, что это было как «слон в посудной лавке». Без каких-либо предупреждений, 17 января Bitmain анонсировал майнер Antminer A3 для сети Sia и тут же открыл продажи. Первый батч был продан за пару минут.

В принципе, для самого сообщества это не должно было стать проблемой. Но шестью месяцами ранее разработчики ядра Sia создали дочернее предприятие по производству ASIC Obelisk и открыл предзаказы на то, что должно было стать первым ASIC для сети Sia. Многие разработчики и члены сообщества поучаствовали в предварительных продажах. Только что анонсированный Bitmain A3 должен был первым попасть на рынок, за много месяцев до Obelisk, и лишить его ожидаемой прибыли. Последним ингредиентом драмы стало объявление того, что майнер Obelisk обладал скрытой способностью работать на альтернативном алгоритме и что форк сети Sia позволит ему остаться на плаву, но сделает майнеры Bitmain бесполезными, если Bitmain будет угрожать сети Sia. Многие члены сообщества, кодеры и модераторы выступали за форк. И среди тех, кто купил A3 у Bitmain, тоже были члены сообщества, кодеры и модераторы. Мясо.

Я вспоминаю те дни как самый стрессовый опыт, который я переживал в области блокчейна. Будучи модератором официального Discord-канала, я имел дело с расколом сообщества, но скрывал собственные чувства или убирал их в сторонку. Некогда мирное и дружное сообщество перестало обсуждать терабайты сохраненных данных, контракты и новые функции, и закрутилась гражданская война со всеми тяжбами и угрозами смерти. Форкать или не форкать? Любой выбор разделит сообщество. Любой выбор приведет к потере важных членов. Некоторые покинули проект до финального решения. В конечном итоге решили не проводить форк. Эхо этого решения до сих пор блуждает в сообществе.

Агрессивная коммерческая политика Bitmain не помогла. В то время как Bitmain заявлял (и продолжает заявлять), что продает один майнер в одни руки, правда в том, что это никогда не соблюдалось: после продажи первого батча A3 сразу же появились фотографии подвалов, забитых A3, и даже чеки на продажу множества экземпляров. Хотя Bitmain также заявляет, что не перенасыщает рынок, анализ шагов роста хэшрейта в сети Sia показывает, что в первом батче было примерно 13 000 майнеров (0,81 TH/s на штуку), а во втором – 20 000. Последующие батчи Bitmain накладывались на отгрузки другого производителя, Innosilicon, поэтому рассчитать их размеры не представляется возможным. Но нет причин полагать, что они были меньше. И в принципе 33 000 майнеров в первых двух партиях было достаточно, чтобы растворить ROI покупателей Bitmain A3, которые начали жаловаться, что их ожидаемый ROI растянулся на 6 месяцев или даже больше.

В конечном итоге Bitmain убил профитность своих собственных клиентов, наводнив сеть большим количеством майнеров, чем могла выдержать макроэкономика сети. Хэшрейт продолжал расти после каждого батча, благодаря и майнерам Innosilicon. Конечно, ROI сторонников Obelisk тоже уничтожился.

Ладно, если отбросить в сторону волнения в сообществе, появление ASIC без предупреждения могло иметь разрушительные последствия для функциональности блокчейна. Без надлежащего алгоритма корректировки сложности (DAA) кардинальное увеличение хэшрейта могло спровоцировать включение тысяч блоков до следующей корректировки сложности. Контракты хранения файлов в сети Sia измеряют время в блоках, что может спровоцировать истечение срока действия некоторых контрактов, потому что арендаторы не успеют их продлить и потеряют свои данные. Нам повезло, что оптимизированный DAA был представлен всего за несколько недель до объявления Bitmain. Тем не менее, это иллюстрирует опасности внезапных внедрений ASIC.

В один день с выпуском A3, Antpool – майнинг-пул Bitmain – открыл ветку для сети Sia, став шестым известным пулом в сети Sia. В первые дни пула его API показывал очень небольшое количество работников (меньше 100) и хэшрейты примерно в 5% сети. К марту число работников выросло до нескольких тысяч и хэшрейт вырос до 20% сети, где и остается по сей день. Вся эта информация записывалась SiaStats и может быть доступна на сайте. Такой постепенный рост хешрейта, будь он правдой, можно было бы соотнести с представлениями Bitmain о скрытом майнинге, потому что пул органично рос после первой отгрузки майнеров.

Тем не менее, следует отметить, что сообщество Sia обнаружило в ноябре-декабре внезапные всплески хэшрейта, сопровождаемые кучей блоков, добываемых неизвестными пулам: до 25% от всех блоков. До этого процент неизвестных пулов оставался ниже 5%. Некоторые члены сообщества предположили, что это Bitmain, другие – Baikal. Время показало, что эти блоки добыл Antpool.

Не пытайтесь скрыть свою активность на блокчейне

Несмотря на сообщения о «прозрачности» от Bitmain, факт в том, что Antpool — самый непрозрачный и нечестный майнинг-пул на сцене Sia:

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

Отказ от отчетности по блокам. В отсутствие подписи исследователи должны верить всем утверждениям Antpool на его сайте. К нынешней дате Antpool заявила только 687 блоков. Их список заявленных блоков включает несколько пробелов в несколько тысяч блоков. Учитывая хэшрейт (около 20% сети), такие пробелы невозможны статистически, а значит, они отказываются сообщать о множестве своих блоков.

Поддельные заявленные блоки. Их список заявленных блоков также включает блоки, которые без сомнения добыты другими пулами. Например, блоки 155407 и 152847 принадлежат F2pool, это подтверждается тем, что награда за блок была выплачена публично известному майнинг-адресу F2pool.

Поддельный заявленный хэшрейт. SiaStats ежедневно регистрирует средний хэшрейт каждого пула. И ведет учет % добытых каждым пулом блоков. У нас нет достоверной информации о блоках Antpool, по понятным причинам, но даже если мы предположим, что все блоки, добытые «неизвестным», принадлежат Antpool (не принадлежат, но предположим), % собранных блоков не соответствует хэшрейту. Если с конца марта они сообщали о 19% хэшрейта, совокупное число блоков Antpool и «неизвестного» соответствует порядка 14%. Это суперплохая удача, которой на 4-месячном отрезке времени просто не может быть.

…но не забывайте, что блокчейн прозрачен.

Даже если Bitmain/Antpool пытается скрыть свою активность, это не значит, что она не отражается на блокчейне. Не так давно я разработал открытый блокчейн-эксплорер с хорошими аналитическими способностями и методологией поиска блоков, добытых Antpool даже в отсутствие подтверждения. Необходимость этого инструмента обусловлена целью SiaStats обеспечивать прозрачность для майнеров Sia: если Antpool наращивает свой процент добытых блоков, сообщество Sia должно об этом знать. Если появляется новый скрытый пул, нужно отделить его блоки от Antpool, чтобы определить его размер. Сеть Sia не может быть безопасной, если сообщество будет в тени, а пул вырастет до 51% хэшрейта в секрете.

В этой методологии нет ничего запредельно научного, она просто основана на движении Siacoin на кошельках Antpool.

Чтобы понять, как это работает, давайте начнем с того, что такое транзакции. В блокчейне Sia, как и многих других, кошелек состоит из нескольких адресов, и каждый адрес включает несколько «выводов» (output), которые должны быть полностью истрачены во время транзакции. Если у Алисы будет майнинг-пул, добывающий 7 блоков на разных адресах с наградой в 100 SC каждый, у нее будет кошелек с 7 адресами и один вывод в 100 SC на каждом из адресов. Если Алиса захочет отправить 650 SC Бобу, кошелек Sia соберет 7 выводов, отправит 650 монет Бобу и создаст новый вывод с 50 монетами, которые отправятся Алисе обратно на новый адрес. В реальном мире вознаграждение за блок никогда не бывает круглым и содержит много цифр после запятой (включенная комиссия), в то время как отправляемые людям суммы обычно круглые. Возвраты на новый адрес легко обнаружить, и адреса можно связать в одном кошельке, если внимательно изучить блокчейн.

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

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

Обратный анализ добытых блоков позволяет найти добытые втайне блоки.

Последний блок, который мы смогли отследить у Antpool, имеет номер 132204 и добыт 17 ноября, а значит Bitmain добывал Siacoins в секрете ровно 2 месяца.

Используя автоматизированный скрипт, SiaStats нашел более 2100 новых блоков, о которых Antpool не сообщил. Эти блоки были добавлены в базы данных SiaStats и новые блоки автоматически начали добавляться, когда выплаты начали возвращаться на известные адреса Antpool. Что примечательно, самый старый блок, который мы можем отследить у Antpool, датирован 17 ноябрем, а значит Bitmain майнил Siacoin в секрете ровно 2 месяца (Antminer A3 был представлен 17 января). В общей сложности, пользуясь эксклюзивностью, Antpool собрал 488 блоков.

Bitmain окупает производство ASIC за счет секретного майнинга

В общей сложности за два месяца было втайне добыто 550 блоков, что представляет 85 миллионов Siacoin в наградах за блок. По данным CoinMarketCap, цена Siacoin в ноябре-январе менялась от 0,5 до 11 центов. Максимальная историческая цена SC была достигнута 6 января, за 11 дней до объявления Bitmain. Учитывая момент, когда он продал свои залежи, компания получила от 0,4 до 9 миллионов долларов просто от секретного майнинга. По некоторым оценкам, разработка A3 обошлась Bitmain в 10 миллионов долларов. Это значит, что стоимость разработки ASIC могла быть покрыта просто за счет скрытого майнинга в течение этих 2 месяцев. Это вдобавок к 74 миллионам долларов прибыли, вырученных за продажу первых двух батчей (2300 баксов за штуку и 33 000 штук).

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *