Определение централизации майнинга
У понятия «централизация майнинга» может быть два разных значения:
Это разные вещи, и когда кто-то говорит о централизации майнинга, не всегда ясно, что именно он имеет в виду. Статья рассматривает риски и возможные сценарии атаки для каждого из этих случаев. Обратите внимание, что приведённый здесь список сценариев — не исчерпывающий.
Монополия производителя
Компания Bitmain сейчас производит большую часть майнингового оборудования с double-sha256, алгоритмом хеширования Proof-of-Work для биткоина, Bitcoin Cash и некоторых других криптовалют. Большая часть хешрейта сети биткоина на момент написания этой статьи принадлежит майнерам Bitmain. Мы предполагаем, что, хотя Bitmain и производит большинство майнеров, она не обязательно их контролирует. Каковы же риски, связанные с тем, что одна компания производит большую часть оборудования?
Сценарий 1: Бэкдор
В этом случае мы предполагаем, что Bitmain продаёт большую часть оборудования, которое она производит. Риск здесь заключается в том, что Bitmain может поставить какой-либо бэкдор на майнеры через скрытые элементы оборудования, прошивку или программное обеспечение. Такой бэкдор может:
Два первых вариант бэкдора заметили бы даже те, кто уделяет оборудованию относительно мало внимания. Последствия открытия таких бэкдоров, безусловно, отразились бы на репутации Bitmain и сделали её как минимум объектом судебного иска. Это было бы эквивалентно атаке камикадзе на биткоин, что могло бы повредить биткоину в краткосрочной перспективе, но полностью уничтожить Bitmain как производителя майнеров.
Третий и четвёртый сценарии не так очевидны, но всё равно поддаются обнаружению. Прямые последствия обоих также навредят Bitmain, поскольку компания будет иметь дело с возмещением убытков клиентам или жалобами на то, что оборудование не работает. Все выгоды (например, привлечение большего количества людей в пул) отойдут на второй план. Кроме того, конкуренты могут обнаружить такие бэкдоры и использовать их в ущерб Bitmain.
Обратите внимание на то, что теоретически любой производитель майнеров мог бы поместить бэкдор в свою продукцию. Оборудование очень сложно проверить, и, покупая оборудование у производителя, вы в некотором смысле полагаетесь на его репутацию.
В течение четырёх-пяти лет своего существования Bitmain не прибегал к этой тактике, и нет оснований думать, что он это сделает. Такие бэкдоры связаны с большим расходом ресурсов, риском обнаружения, высокой вероятностью неудачи и низкой вероятностью вознаграждения.
Сценарий 2: Дефект производителя
В этом случае всё остальное совпадает с первым сценарием, но у оборудования есть некий фатальный дефект. Например, оно загорается при определённой температуре или неправильно вычисляет временные метки.
При худшем варианте сценария оборудование создаст невалидные блоки, и это будет видеть остальная часть сети. Опять же, это прежде всего вредит производителю, так как именно на него пострадавшие клиенты обрушат свой гнев.
Сценарий 3: Чрезмерное повышение цен / лимиты на покупку / задержка доставки
Производитель оборудования может использовать своё доминирующее положение для дополнительной наценки на майнеры. Это может проявляться в повышении цены оборудования, принуждении покупателей использовать определённые способы оплаты, задержке доставки и даже ограничениях на то, как может использоваться оборудование.
Все эти тактики становятся бессмысленными в условиях конкуренции, поэтому оборудование должно иметь разумную стоимость и поставляться на разумных условиях. Дополнительный доход от повышения цены грозит долгосрочным репутационным ущербом.
Централизация хешрейта
Монополия на производство майнеров может привести к негативным последствиям, но более опасный сценарий — концентрация хешрейта, особенно тогда, когда одна компания будет контролировать больше половины хешрейта сети.
Этот тип централизации можно разделить на две категории:
Типы возможных атак похожи, но способ, которым их можно отбить, немного отличается. Если один объект контролирует группу пулов, то люди, участвующие в пуле, могут просто переключиться на другой, чтобы помешать атаке. Но такой способ не сработает, если один объект управляет группой машин. Обратите на это внимание, когда мы будем рассматривать способы, с помощью которых возможно атаковать сеть, имея в распоряжении большую часть хешрейта.
Сценарий 4: Контрольный пакет блокчейна
Самое очевидное, что можно делать, владея большей частью хершейта, — это просто присваивать себе вознаграждение за каждый блок. Также можно блокировать транзакции и даже допускать двойное расходование. Но на практике провести такую атаку крайне сложно.
Чтобы проиллюстрировать, почему, предположим, что гипотетический производитель под названием Mitbain контролирует 60% хешрейта и решает присваивать себе все блоки. Вероятность того, что остальная сеть обнаружит блоки, составляет 40%. Понятно, что, поскольку у меньшинства всё ещё есть часть хершрейта, в какой-то момент Mitbain будет отставать на один блок от остальной сети.
Чтобы вернуть лидерство, Mitbain должен будет найти на два блока больше, чем остальная часть сети. Это не так просто, как кажется. Учитывая достаточное время и большинство хешрейта, обгон неизбежен, но это не обязательно произойдёт быстро.
Это обусловлено математически, и количество ожидаемых блоков до того момента, пока Mitbain снова обгонит остальную сеть, довольно большое. При 60% хешрейта сети ожидаемое количество блоков до тех пор, пока Mitbain не обгонит остальную сеть, де-факто составляет шесть блоков! Обратите внимание, что это 60% хешрейта, так что это не 60 минут для этих шести блоков, а 100 минут.
И дело не только в этом. В лучшем случае для атакующего вся сеть будет аннулировать предыдущие пять блоков для шести новых блоков злоумышленника. Все транзакции в предыдущих пяти блоках будут признаны недействительными, как если бы их и не было, а транзакции в шести новых блоках будут считаться действительными. Это то, что называется реорганизацией блоков, или reorg. Конечно, злоумышленник может быть «хорошим» и включать транзакции блоков конкурентов в блокчейн, но тут нет никаких гарантий.
Ни одна компетентная биржа при таком сценарии не зачислит транзакцию без хотя бы 30 подтверждений (по крайней мере без каких-либо знаний о том, что происходит).