Содержание
- Определение централизации майнинга
- Централизация производства
- Централизация хэширующих мощностей
- На что большинство хэш-мощностей повлиять не может
- Bitmain
- Заключение
Джимми Сонг рассуждает о проблеме централизации майнинга и рассматривает разные сценарии с точки зрения возможных рисков и последствий.
Определение централизации майнинга
Под централизацией майнинга могут подразумеваться два разных явления:
- большая часть оборудования для майнинга производится одной компанией;
- большая часть хэширующих мощностей принадлежит одной компании.
Так как это разные вещи, не всегда очевидно, что именно имеют в виду те, кто говорит о централизации майнинга. Дальше я расскажу возможных уязвимостях и видах атак, которые эксплуатируют эти уязвимости. Отмечу, что в этой статье перечислены далеко не все возможные сценарии, но достаточно, чтобы составить ясное представление о видах существующих уязвимостей и о мерах противодействия централизации.
Централизация производства
Bitmain – основной производитель оборудования для майнинга с двойным алгоритмом SHA256 (алгоритм хеширования Proof-of-Work, используемый в BTC, BTH и нескольких других криптовалютах). На момент написания статьи большая часть хэширующих мощностей сети Биткоина представлена майнерами Bitmain. Будем исходить из предположения, что, хотя компания Bitmain и является основным производителем такого оборудования, это еще не значит, что все оно находится в собственности компании.
Каковы риски, если единственная компания производит большую часть оборудования для построения сети?
Сценарий 1: бэкдор
Предположим, что Bitmain продает большую часть произведенного оборудования.
Теоретически Bitmain может добавить бэкдор в аппаратную часть устройства, его прошивку или программное обеспечение. Бэкдор может делать, например, следующее:
- переключить оборудование на майнинг-пул, которым управляет Bitmain, и начать добывать любую криптовалюту по выбору Bitmain;
- изменить шаблон блока таким образом, чтобы вознаграждение поступало на адрес, принадлежащий Bitmain;
- отклонять валидные доказательства от любых майнеров, не подключенных к пулу, принадлежащему Bitmain;
- дистанционно принудительно отключать оборудование с помощью специального сигнала.
Первые два типа бэкдоров очень легко обнаружить и доказать, даже имея на руках лишь небольшое количество логов. В случае обнаружения бэкдора такого масштаба, компания Bitmain, как минимум, получила бы коллективный судебный иск и ее репутации был бы нанесен непоправимый ущерб. Это можно сравнить с атакой камикадзе на Биткоин. В краткосрочной перспективе атака нанесла бы вред Биткоину, но при этом уничтожила бы Bitmain как производителя ASIC.
Бэкдоры третьего и четвертого типа можно спрятать получше, но все равно их можно будет обнаружить. Отклонение валидных доказательств будет вызывать задержки в обработке блоков, и будет заметно, что пулы, не принадлежащие Bitmain, статистически получают меньше вознаграждений, а принудительное дистанционное отключение выводит оборудование из строя. В обоих случаях это привело бы к негативным последствиям для Bitmain, потому что компании пришлось бы иметь дело с жалобами на то, что их оборудование для майнинга не работает, и возвращать покупателям деньги. Выгода от этих действий – например, привлечение большего количества людей в контролируемый компанией пул – не сможет компенсировать убытки. Кроме того, велика вероятность, что конкуренты найдут бэкдор и используют его, чтобы нанести ущерб Bitmain. Даже сам факт обнаружения бэкдора нанесет репутации Bitmain огромный ущерб, в то время как выгоды от его применения представляются отдаленными и весьма сомнительными.
Стоит заметить, что, теоретически, любой производитель оборудования для майнинга может встроить в него бэкдор. Очень сложно проверить аппаратную часть устройства, и если вы покупаете оборудование у конкретного производителя, вы в определенном смысле оказываете ему доверие.
За 4–5 лет, что компания Bitmain находится на рынке, она не создавала бэкдоров в своем оборудовании, и нет оснований полагать, что это может произойти. Ведь такие вещи требуют тщательного планирования, при этом риск их обнаружения или сбоя велик, а шансы получить с их помощью прибыль малы.
Сценарий 2: производственный брак
Предположим, что все происходит как в сценарии 1, только оборудование имеет некий неустранимый дефект. Может быть, оно загорается при нагревании до определенной температуры, или ставит неправильные временные метки.
В худшем случае оно будет создавать недействительные блоки, а это сразу станет заметно остальным участникам сети. И вновь это причинит ущерб только производителю, потому что ему придется иметь дело с недовольными покупателями.
Сценарий 3: неоправданное поднятие цен/ограничения на покупку/задержки поставки
В этом сценарии производитель оборудования использует свое лидирующее положение на рынке, чтобы получить с покупателей больше денег. Например, он может поднять цены на оборудование, принимать оплату только определенными способами, задерживать поставки. Может даже установить ограничения на способы использования этого оборудования.
Но в этом случае компания начнет проигрывать конкурентам, ведь повышение цен ударит по объемам продаж. Так что эту тактику нужно использовать с осторожностью, или вообще не использовать. Прибыль, полученная в результате таких махинаций, не компенсирует ущерба, который понесет репутация компании.
Централизация хэширующих мощностей
Централизация производства оборудования для майнинга может привести к негативным последствиям, но централизация хэширующих мощностей гораздо опаснее. Может оказаться так, что одной компании принадлежит более половины всех хэширующих мощностей сети.
Здесь могут быть два варианта:
- компании принадлежат пулы, в которых, в общей сложности, сосредоточено более 50% хэширующих мощностей;
- компании принадлежат компьютеры, вычислительная мощность которых составляет более 50% хэширующих мощностей сети.
Здесь возможные виды атак будут примерно такими же, но способы защиты от них – другими. Если много пулов контролируются одним центром, то для предотвращения атаки участникам этих пулов достаточно перейти в другой пул. Если много компьютеров принадлежат одному владельцу, так сделать не получится. Запомним это и рассмотрим сценарии, где нахождение большого количества хэширующих мощностей в руках одного владельца может нанести ущерб сети.
Сценарий 4: большинство подтверждает собственные последовательности блоков
Самое простое, что может сделать владелец большинства хэширующих мощностей – это не подтверждать блоки, найденные другими участниками сети, и таким образом забирать награду за каждый включенный в цепочку блок себе. Он также может не подтверждать определенные транзакции или попытаться произвести двойную трату.
На самом деле расчеты показывают, что, если большинство ненамного превышает 50%, то атаку не так просто осуществить.
Предположим, что вымышленный производитель оборудования Mitbain контролирует 60% хэширующих мощностей, и он решил не подтверждать чужие блоки. Вероятность, что определенный блок найдут в другой части сети, равна 40%. Поскольку меньшинство тоже обладает хэширующими мощностями, в какой-то момент Mitbain будет отставать от остальной сети на один блок.
Чтобы устранить отставание, Mitbain должен найти на два блока больше, чем вся остальная сеть. Это не так просто, как кажется. Обладатель большей части хэширующих мощностей обязательно догонит остальные узлы сети, но не всегда сможет сделать это достаточно быстро.
Если посчитать, какое количество блоков должен обработать Mitbain, чтобы устранить отставание, то оно окажется довольно большим. Если Mitbain контролирует 60% хэширующих мощностей, то для того, чтобы превзойти сеть, потребуется 6 блоков! Обратите внимание, что при доле в 60% от общего количества мощностей это будет 6 блоков не за 60, а за 100 минут.
Кроме того, в самом выгодном для злоумышленника сценарии вся сеть должна отменить предыдущие 5 блоков в пользу его 6 новых блоков. Все транзакции из тех 5 блоков будут отменены, как будто их и не было, а транзакции из 6 новых блоков будут считаться окончательными. Такая атака называется реорганизация блоков. Именно так выглядит атака двойной траты на Биткоин. Конечно, злоумышленник может оказаться не совсем «плохим» и включить в свои блоки, в основном, те же транзакции, что были в оригинальных блоках, но может и не включать.
При таком сценарии ни одна серьезная биржа или торговая точка не примет без дополнительных проверок транзакцию, у которой меньше 30 подтверждений.
Время указано в минутах
В вышеприведенной таблице показано, сколько блоков придется реорганизовать каждый раз, когда в остальной части сети кто-то находит новый блок. Из нее видно, что даже если кто-то обладает 70% всех хэширующих мощностей, проведение такой атаки займет довольно много времени. После того как Mitbain потратит свои ресурсы, чтобы найти 6 блоков, он будет отставать на 2-3 блока. Захочет ли он после этого продолжать атаку?
Кроме того, крупная реорганизация – это сигнал для остальной части сети о том, что в ней могут происходить какие-то махинации. Другие узлы станут относиться к этим новым блокам с подозрением. Вполне возможно, что операторы полных нод просто объявят новые блоки недействительными (для этого есть команда invalidateblock) и примут как верную ту последовательность, что подтверждена другой частью сети. Тогда получится, что Mitbain потратил большой объем вычислительных ресурсов впустую, был пойман на попытке мошенничества и теперь получил форк, не признанный большинством других узлов. Это будет хард-форк без защиты от атак повторения, и то, какую ветку считать верной, будет решать сообщество.
К тому же во время атаки каждый раз, когда какой-нибудь майнер вне Mitbain обнаружит блок, будет происходить крупная реорганизация, и это сделает принятие платежей очень рискованным делом. Если злоумышленнику принадлежит около 80% сети, то во время атаки сетью Биткоин просто станет невозможно пользоваться.
Если бы вместо этого Mitbain просто занимался майнингом, размер полученного им вознаграждения был бы примерно таким же, но без риска навлечь на себя подозрения и понести серьезный репутационный ущерб. Прибыль от двойной траты, перехвата комиссии и отказа от подтверждения чужих транзакций должна перевешивать возможные риски, включая потерю вознаграждения за майнинг, потерю репутации и ущерб, нанесенный сети Биткоина.
Проще говоря, с экономической точки зрения, такая атака просто не имеет смысла, потому что она не принесет атакующему достаточной выгоды. И даже если атака будет успешной, это не уничтожит Биткоин. Ведь если производительность сети Биткоин временно понизится, это не значит, что все бросятся продавать свои биткоины.
Сценарий 5: отключение хэширующих мощностей
Для того, чтобы оказывать влияние на сеть, обладателю большей части хэширующих мощностей даже не нужно совершать на нее атаку. Достаточно отказаться от майнинга, и тем самым не вносить вклад в безопасность этой сети. Большая часть хэш-мощностей – скажем, 80% – может отказаться от майнинга, чтобы оказать давление на разработчиков сети. Это напоминает объявление голодовки.
Этот сценарий создаст определенные трудности для сети: 10-минутные интервалы между блоками превратятся в 50-минутные. Мемпул станет быстро заполняться, а скорость транзакций сильно упадет. Это, в свою очередь, может привести к росту комиссий.
Однако злоумышленникам это обойдется еще дороже. Майнеры во всем мире добывают 1437 биткоинов в день (это примерно 10 миллионов долларов в день по курсу на момент написания статьи). Даже если подключить освободившиеся мощности к другой сети, там они принесут меньше прибыли, а значит, можно говорить об упущенной выгоде.
Кроме того, скорость подтверждения транзакций через несколько недель вернется к прежнему уровню, а участники «голодовки» уже не смогут возместить упущенную выгоду.
На что большинство хэш-мощностей повлиять не может
Во-первых, оно не может забрать ваши коины. Ваши накопления – только ваши. Максимум, что может злоумышленник – это совершить двойную трату с вашей входящей транзакцией либо какое-то время не пропускать вашу исходящую транзакцию. Это нормально и так бывает. Например, это происходило в декабре с транзакциями с небольшой комиссией.
Во-вторых, оно не может изменить правила сети Биткоина. Оно может только создать новые правила определения консенсуса, но это приведет к хард-форку, и участники сети, которые его поддержат, должны будут перейти на новую версию программного обеспечения. Обладатель большинства хэш-мощностей может попытаться убедить остальных участников сети, что новые правила лучше старых, но участники сети Биткоина, будучи независимыми людьми, не обязаны их принимать. Для каждого узла сети, только его владелец решает, каким правилам следовать.
В-третьих, большинство не может нанести вам ущерб, не причинив ущерба себе. Например, злоумышленник может ослабить сеть в целом, но и сам пострадает из-за упущенной выгоды. Он может совершить двойную трату, но тогда многие ноды могут включить его в черный список.
Bitmain
По крайней мере, риск централизации производителя оборудования постоянно снижается. Хоть многие и ненавидят Bitmain, давайте не будем забывать, кто был на рынке до них. Butterfly Labs, CoinTerra, KnC Mining и другие – у них было сложно даже оформить предзаказ.
Bitmain привнес в индустрию майнинга профессионализм, которого раньше там просто не было. Они продают полностью укомплектованные и готовые к использованию майнеры с 2014 года, тогда как другие компании могли задерживать поставку оплаченных покупок месяцами, если не годами. Bitmain вытеснили конкурентов с рынка и привели их к банкротству за счет своего профессионализма.
И все же нет оснований считать, что Bitmain всегда будет оставаться лидером рынка.
Во-первых, скоро на рынок придут конкуренты. Есть как минимум 4 известных мне стартапа, которые планируют потеснить Bitmain. Крупные компании, такие как Samsung, Intel и Nvidia, тоже рассматривают возможность входа в эту прибыльную индустрию.
Во-вторых, в отличие от самого Биткоина, оборудование для майнинга не имеет заметного сетевого эффекта. Для людей имеет значение, сколько денег они заработают на майнинге, а не то, кто производитель оборудования. То есть, даже если в прошлом они покупали майнеры Bitmain, в следующий раз они могут выбрать другого производителя. При необходимости, многие готовы даже заплатить больше за продукт не от Bitmain.
В-третьих, сейчас Bitmain – очень большая компания. Они работают над ASIC с машинным обучением и ASIC для альткоинов, покупают другие компании и финансируют множество проектов. Большим компаниям часто недостает гибкости маленьких, и со временем их слабые места могут стать заметнее.
Это не значит, что Bitmain легко сдаст свои позиции в этой очень прибыльной индустрии, но здесь точно есть большое поле для конкуренции. Если вы верите в свободный рынок так, как верю в него я, то вам должно быть очевидно, что любой дисбаланс со временем выровняется. Сейчас есть дисбаланс в области производства, но эта проблема в скором времени решится.
Заключение
Сообщество Биткоин уже давно пугают централизацией майнинга. Что еще хуже – многие до сих пор верят, будто большинство может контролировать сеть. Однако свойства децентрализации в значительной степени помогают противостоять этому, и сеть Биткоин защищена от централизованного контроля намного лучше, чем многим кажется.
Более того, структура централизации майнинга не способствует длительному сохранению такой централизации. Майнинг – это игра с участием продуктов, которые дешевеют со временем. Разумеется, Bitmain сделает все возможное, чтобы сохранить свою долю рынка, но для этого их продукция должна быть лучшей на рынке. Иначе эти попытки обойдутся им слишком дорого и быстро сойдут на нет.
В майнинге Биткоина нет единой точки уязвимости, и поэтому Биткоин нельзя уничтожить.
Источник: cryptocurrency.tech