Биткоин, с его 20-миллиардной капитализацией и огромным потенциалом на будущее, становится все более лакомым куском, и вокруг контроля над сетью разгораются нешуточные политические страсти. Самая горячая тема последних месяцев - активация SegWit - окончательно увела противостояние из технической в политическую плоскость и в криптовалютном сообществе становятся привычными личные обвинения и "войны компроматов", очень похожие на те, что имели место во время недавних президентских выборов в США или текущей кампании во Франции.
Вчерашний зажигательный пост технического директора Blockstream и разработчика Bitcoin Core Грега Максвелла (Greg Maxwell), в котором он обвинил майнеров (а если не вдаваться в формальности - напрямую компанию Bitmain) в недобросовестных приемах, наносящих ущерб сети, произвел изрядный шум в сообществе Биткойна.
В заявлении Максвелла сказано, что "крупный производитель оборудования для майнинга" использует давно известную уязвимость в алгоритме PoW Биткойна - запатентованную технологию ASICBOOST, в результате чего достигает 20% преимущества в эффективности перед конкурентами.
Согласно утверждениям Максвелла, эта деятельность продолжается и сейчас, что доказывает "анализ майнингового процессора". Правда, как это обычно водится в подобных кампаниях, достоверных доказательств использования этой технологии в сети Биткойна Максвелл не представил.
Далее начинается традиционная интеллектуальная гимнастика.
Технология, о которой идет речь, была описана разработчиками Тимо Ханке (Timo Hanke) и Демианом Лернером (Sergio Damian Lerner) еще в 2014 году, а патентная заявка подана компанией Cointerra в ноябре 2014 года. Причем, сама Cointerra не смогла использовать это "конкурентное преимущество" и не удержалась на рынке.
По словам Максвелла, некто обнаружил, что «тайная» версия технологии применяется в процессоре для майнинга, при этом не говорится, кто проводил анализ процессора, какой это процессор, и конкретные блоки сети, в которых можно увидеть использование технологии.
Далее, Максвелл заявляет, что внедрение Segregated Witness, разработанного Bitcoin Core, сделает "секретную версию" AsicBoost бессмысленной, и таким образом, лишит использующих ее майнеров преимущества.
Это заявление плеснуло керосина на тлеющие дебаты по поводу масштабирования Биткойна, а общее мнение сошлось на том, что "нечестный майнер" – китайская компания Bitmain, крупнейший производитель майнингового оборудования (Bitmain оформил отдельный патент на AsicBoost в Китае).
Максвелл обвиняет Bitmain в том, что компания не только блокирует принятие SegWit посредством поддержки альтернативных разработок, но и делает это для того, чтобы и в будущем получать дополнительные доходы "за счет пользователей".
В заявлении Bitmain, ее сооснователь Жиан Ву (Jihan Wu) с негодованием отверг обвинения в адрес компании. В частности, он заявил:
«Никакой связи между принятием SegWit и AsicBoost не существует».
В официальном заявлении Bitmain, сделанном в четверг, сообщается, что компания тестировала AsicBoost, но никогда не использовала эту технологию в серийном оборудовании. Bitmain также напоминает о соглашении, в котором они ранее высказали поддержку SegWit.
Участники дебатов, кроме наиболее радикально настроенных, сходятся на том, что имеющаяся информация не позволяет сделать однозначный вывод об истинности выдвинутых обвинений.
Бывший испонительный директор BTCC Самсон Моу (Samson Mow), сказал, что пост подтверждает слухи, которые появляются время от времени, однако ничего нового он сообщить не может:
"Твердых доказательств нет, есть только косвенные свидетельства – «дымящиеся стволы»."
Что такое AsicBoost?
Коротко, AsicBoost можно назвать «математическим трюком». Вместо того, чтобы производить огромный объем вычислений, майнеры могут сузить свой выбор потенциальных хэшей, которые позволят им решить задачу быстрее и претендовать на вознаграждение. Такие хитрости могут привести к повышению эффективности майнинга, увеличивая коэффициенты прибыльности майнингового оборудования.
К примеру, основной показатель доходности майнинга – это сумма в долларах, полученная за гигахэш/с, измеряемая в USD на Гх/с.
Другой показатель основан на энергопотреблении – джоуль на Гх/с.
Создатели технологии заявляют, что с помощью AsicBoost эти показатели можно улучшить на 20%.
В заявлении майнинговой компании сказано, что несмотря на то, что технология достаточно известна, она не применяется на практике благодаря сочетанию патентной защиты и следованию стандартам отрасли (хотя они не подкреплены никакими формальными соглашениями).
Чем AsicBoost не является
Если вернуться к посту Максвелла, то там напрямую не утверждается, что компания, о которой идет речь (предположительно Bitmain), использует AsicBoost.
Вместо этого, там говорится о том, что технология уже встроена в оборудование, а также утверждается, что SegWit, в результате побочного эффекта своего действия, сделает эту технологию бессмысленной.
Обвинение состоит в том, что широкое использование технологии создает дополнительный бизнес-интерес в блокировании SegWit.
В массовом производстве процессоров для майнинга, жизненный цикл оборудования исчисляется меcяцами – за этот срок, новые технологии делают предыдущее поколение неэффективным. Поэтому, еще большее сокращение срока службы может ударить по производителям, что заставляет их блокировать Сегвит.
Надо заметить, что эта информация уже значительно устарела - новых поколений майнинговых технологий не появлялось уже больше года, так как сейчас майнеры используют фактически последний техпроцесс - 14нм, и следующий шаг миниатюризации произойдет не скоро. Возможны только небольшие оптимизации чипов и программного обеспечения.
Эксплуатация или эффективность
Возникает вопрос, является ли конкретная технология результатом естественной конкурентной борьбы за преимущество, или майнеры в самом деле «препятствуют работе» сети, учитывая то, что правил, ограничивающих такую борьбу, не существует.
В данном случае, правила запрещающего AsicBoost не существует, однако майнеры следуют «неписанному» соглашению, и воздерживаются от использования технологии, потому что это «вредно» для сети.
Топ-менеджер одной из крупнейших майнинговых компаний, пожелавший сохранить анонимность, сказал, что это широко распространенная практика, и она не сильно сказывается на деятельности компаний:
«Все работают по разному, и я думаю, что это вполне нормально. Жиан Ву назвал это свободой выбора, которую протокол никак не ограничивает».
Самсон Моу отметил, что технология не считается «кошерной» среди майнеров, поскольку она позволяет решить задачу, не выполняя полезную работу.
Эмин Гюн Сирер (Emin Gün Sirer), в своем посте провел краткий анализ и высказал убеждение, в том, что доказательств, способных подтвердить обвинения Максвелла, явно недостаточно (оговорившись, что на более подробный анализ пока не было времени).
Атака «перемалыванием Меркла»
Технические подробности так называемой «атаки» довольно сложны, но вкратце, она касается способа добычи блоков майнерами.
В процессе работы майнеры используют специально разработанное оборудование для хэширования данных блока (превращая их в последовательности цифр и букв), до тех пор, пока не найдут конкретное решение, которое принесет им вознаграждение в первой транзакции созданного ими блока.
Некоторые данные блока должны оставаться неизвестными перед вычислением хэшей. Это ставит всех майнеров в равное положение и они выполняют одну и ту же работу.
По словам разработчиков, проблема заключена в алгоритме хэширования, который майнеры могут «обмануть» несколькими способами. Максвелл описывает один из них – "перемалывание Меркла". Максвелл утверждает, что некоторые майнеры нашли остроумный способ узнавать заранее данные, которые они знать не должны.
Каждый заголовок блока содержит "корень Меркла", который представляет собой сводку всех транзакций блока. Майнеры же при создании блока могут "заказывать" данные транзакций в дереве Меркла, которые им нужны для того, чтобы снизить объем вычислений.
Максвелл пишет: «Если майнер находит несколько кандидатов в корневые значения, которые имеют один и тот же 32-битный хэш, он может использовать атаку».
Это ускоряет процесс. Практически, это означает пропуск шага вычислений.
Более того, разработчики жалуются, что такая техника приводит к тому, что некоторые майнеры добывают пустые блоки, упрощая себе задачу упорядочивания транзакций в дереве Меркла. В частности, Antpool был замечен в периодическом майнинге пустых блоков, хотя в последнее время их доля снизилась. Однако, добыча пустых блоков время от времени встречается у многих пулов, так как может быть вызвана разными причинами.
Что говорят эксперты
Тимо Ханке, один из изобретателей AsicBoost и бывший технический директор Cointerra, полагает, что аргумент о блокировании SegWit из-за AsicBoost сильно преувеличен.
Допуская, что AsicBoost потенциально может использоваться в целях, вредных для работы сети, он написал в Twitter, что никогда бы не одобрил любое предложение (BIP), которое могло бы использовать технологию, наносящую вред Биткойну.
Демиан Лернер, второй соизобретатель AsicBoost, заметил в Twitter, что альтернатива SegWit – SegWit2B, также остановит AsicBoost.
Основная опасность заключается в том, что эта технология может привести к дальнейшей централизации майнинга – использующие ее майнеры получают преимущество перед теми, кто ее не использует.
Генеральный директор Blockstream Адам Бэк (Adam Back) выдал очень странное мнение:
«Патенты, отдающие преимущество кому-либо – большая проблема для Биткойна».
Однако, во всем мире патенты регистрируются именно для того, чтобы дать разработчику новой технологии [временное] преимущество на рынке.
Пример экономической выгоды в пользу атаки, по утверждению Максвелла: пул, обладающий 50% мощности сети, может сэкономить за счет эксплуатации этой уязвимости до 100 миллионов в год. Однако, на данный момент таких пулов нет. Два пула, принадлежащие Bitain, генерируют около 20% блоков, при этом далеко не все их мощности принадлежат производителю.
Разработчик Альфонс Пейс (Alfonse Pace) замечает: «Если у вас есть дойная корова, которая приносит 100 миллионов, вы сделаете все, чтобы никто ее не зарезал».
Комментарий Bits.media
Пока не появились новые факты, какие предварительные выводы можно сделать из этой истории? В сообществе Биткоина разгорается "война репутаций", и команда Bitcoin Core в лице Грегори Максвелла сделала попытку очернить своих противников. Причем, сделана она в лучших традициях подобных демаршей - не названы конкретные имена и не приводятся доказательства действительного использования ASICBOOST, однако всем ясно, на кого направлены обвинения.
Фактически, Максвелл утверждает, что Bitmain используется уязвимость протокола Биткоина для получения преимущества. Если будет доказано,что это правда, никакой финансовой или юридической ответственности Bitmain не понесет. Однако, репутационный вред будет огромен, что ударит и по продажам Bitmain в пользу конкурентов (в первую очередь, Bitfury), и даст сторонникам немедленной активации SegWit очень сильный аргумент. Усилятся и позиции радикалов, предлагающих смену алгоритма хэширования или даже переход на PoS, хотя всерьез этот вариант еще не рассматривается.
С другой стороны, Bitmain заявляет, что технология действительно работает и прошла тестирование, но никогда не применялась в серийном оборудовании для майнинга в рабочей сети Биткоина. Если Максвелл не сможет подтвердить свои обвинения, то и взять с него будет нечего - ведь он не называл имен и не выступал с официальной позицией от лица Blockstream или Bitcoin Core. В самом худшем случае, Максвелл укрепит свою репутацию скандалиста, и не более.
Обычным же пользователям Биткоина разборки вокруг контроля над сетью не принесут ничего, кроме новых затруднений. Обостряя конфликт и отвергая многочисленные компромиссные предложения, стороны наносят вред всему сообществу и углубляют тупик, из которого Биткоину необходимо выбраться, пока он не потерял лидерства в криптовалютном мире.