Вредоносные стратегии майнеров: как обмануть сеть и уйти незамеченным2015/08/09
Сатоши Накамото видел биткойн как полностью децентрализованную сеть, где каждый пользователь поддерживает полный узел и занимается майнингом, получая вознаграждение пропорционально вкладу в общую мощность.
Но c 2011 года это предположение не выполняется: майнеры используют специализированные устройства (FPGA, затем ASIC) и объединяются в пулы для получения равномерного дохода. Популярное опасение, связанное с пулами, — атака 51%, при которой злонамеренный пул тратит биткойны дважды и цензурирует транзакции.
Но майнеры могут и другими способами «обманывать» сеть, повышая прибыль без пользы для сети. Исследователи Николя Куртуа (Nicolas Courtois) из Университетского колледжа Лондона (University College London) и Леар Бахак (Lear Bahack) из Открытого университета Израиля (Open University of Israel) исследовали вредоносные стратегии нечестных майнеров и показали, что в принципе незаметны для честных участников.
Структура заголовка бииткойн-блока
Биткойн часто позиционируется как система, не требующая доверия между участниками, своего рода криптографическая утопия. К сожалению, реальность пока не не соответствует идеалу. Биткойн уязвим. Единственная каноническая реализация полного узла (Bitcoin Core) — очевидная критическая точка. Кроме того, участники сети не равны.
Лишь немногие узлы сети — майнеры — выполняют две критические функции. Во-первых, они проверяют корректность транзакций. Обычный пользователь не делает этого, кроме, быть может, небольшого количества транзакций, затрагивающих его лично.
Майнеры же проверяют корректность всех транзакций и формируют консенсусную версию истории транзакций — главную цепочку блоков. Во-вторых, майнеры отвечают за эмиссию валюты: затратив ресурсы на выполнение proof-of-work, они получают в награду новые биткойны и комиссию за вошедшие в найденный ими блок транзакции.
Эти две функции майнеров тесно связаны. Предполагается, что майнеры действуют честно: архитектура сети постулирует, что чем выше относительная мощность участника сети, тем выше ожидаемая прибыль. Это мотивирует майнеров поддерживать сеть. Однако если майнер отклонится от честного поведения, он не понесёт за это никакого наказания и остаётся незамеченным.
Простые атакиПростейшая атака «pool hopping» была описана ещё в 2011 году Мени Розенфельдом (Meni Rosenfeld). Он показал, что если пул распределяет выплаты по пропорциональной системе, майнить в начале раунда выгодней, чем в конце. Другие методы выплаты усложняют проведение такой атаки, но не устраняют такую опасность.
Злонамеренные пулы могут образовать картель с долей мощности более 50% и отклонять блоки, добытые остальными участниками. Это не обязательно влечёт двойную трату («атака 51%»): вступившие в сговор майнеры могут корректно подтверждать все валидные транзакции, но в случае форка их цепочка будет признаваться главной, следовательно, убытки из-за майнинга орфанных блоков лягут на плечи честного меньшинства.