За последние несколько месяцев на крипторынке участились случаи атаки 51% на криптовалюты, чьи блокчейны поддерживают алгоритм консенсуса PoW (Proof-of-Work) — доказательства работы. Первой крупной криптовалютой стала анонимная монета Verge, на которую с апреля этого года было совершено как минимум две атаки. Далее, в мае злоумышленники смогли провести двойную трату с криптовалютой Bitcoin Gold на $18 миллионов. Также от атаки 51% постардал блокчейн криптовалюты MonaCoin. Эксперты предположили, что некая группа мошенников методично захватывает хэшрейты PoW сетей и крипторынку не стоит ожидать, что атаки прекратятся в ближайшее время.

Как происходит атака 51%?

Угроза централизации вычислительных мощностей, известная как атака 51%, считается одной из ключевых уязвимостей алгоритма консенсуса PoW. Это происходит, когда у атакующей стороны, в роли которой может выступать сравнительно небольшое количество майнеров, находится «контрольный пакет» хэшрейта — вычислительной мощности сети.

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

Таким образом, если майнер или пул майнеров контролирует больше половины хэшрейта, то у них появляется возможность добавлять свои ветви и тем самым манипулировать двусторонними операциями и не подтверждать новые транзакции. Также атака 51% может привести к тому, что недобросовестные майнеры смогут использовать одну и ту же монету несколько раз, отзывая совершенные с ней транзакции, что называется double-spending, или двойной тратой. При этом атакующая сторона не может менять информацию в уже добавленных блоках и генерировать новые криптовалюты.

Сколько стоит атака 51%?

В свете участившихся атак, в конце мая в сети появился сайт Crypto51.app, рассчитывающий стоимость часа атаки 51% на криптовалюты сети PoW. По словам неизвестного крипто-энтузиаста, запустившего данный ресурс, таким образом он хочет привлечь внимание криптосообщества к надвигающейся угрозе со стороны недобросовестных майнеров.

Согласно сайту, если час атаки на блокчейны таких популярных криптовалют, как биткоин или эфир, будет стоить $538,042 и $390,477 соответственно, то атака на менее крупные сети обойдется злоумышленникам намного дешевле. Например, для того чтобы заполучить большую часть хэшрейта сети Ethereum Classic, потребуется $2216, сети Ubiq — $447, а атака на блокчейн Mooncoin будет стоить всего $7. При этом данные суммы не берут в расчет вознаграждение майнеров за добавление новых блоков, которые могут сократить расходы атакующей стороны на 80%.

Атаки на Verge, Bitcoin Gold, Monacoin и Electroneum

Первая крупная атака 51% произошла в апреле 2018 года, когда в течение нескольких часов майнеры сети анонимной криптовалюты Verge смогли получить порядка 250,000 монет XVG на сумму $1.8 миллиона. Этот случай стал своего рода прецедентом, поскольку данная атака стала возможной из-за бага в коде, а не из-за захвата вычислительных мощностей злоумышленниками.

4 апреля ocminer, пользователь форума Bitcointalk, сообщил, что в коде сети присутствует баг, который позволяет хакерам добавлять новые блоки в сеть каждую секунду, вместо положенных 30 секунд. Это произошло, потому что блокчейн Verge поддерживает сразу пять алгоритмов консенсуса, которые должны меняться с каждым новым блоком. Злоумышленники отправляли блоки алгоритма Scrypt с ложной временной меткой, сеть принимала такой блок, думая, что в последний раз блок алгоритма Scrypt был добавлен час назад. Атака длилась три часа, в течение которых 99% блоков других майнеров не принималось, и злоумышленнику удалось получить порядка 250,000 монет XVG.

В результате командой Verge был проведен хардфорк сети, который должен был устранить баг, однако этого не произошло. В связи с чем через месяц сеть снова подверглась атаке 51%. Второй прецедент произошел 22 мая, и о нем сообщил все тот же пользователь форума Bitcointalk ocminer:

«Поскольку с прошлой атаки никаких ключевых изменений не было внесено в работу сети (только временное решение), то в этот раз атакующая сторона смогла использовать два алгоритма вместо одного, чтобы провести форк сети для получения собственной выгоды и заработать миллионы».

В результате майнерам удалось украсть порядка $1.7 миллиона в XVG. В третий раз о возможной атаке стало известно 27 мая, когда пользователь форума Bitcointalk CHIEF56 заметил, что в сети Verge происходят «странные транзакции» с неправильными временными метками, что могло сигнализировать об угрозе двойной траты. 29 мая пользователь ocminer также подтвердил, что на сеть была совершена атака. Однако далеко не все пользователи согласились с этим предположением. По их мнению, поскольку активность сети Verge не показала снижения сложности ни по одному из пяти алгоритмов майнинга за тот период, а также не было скачков в скорости создания новых блоков, то с 22 мая новых атак на сеть не совершалось.

Bitcoin Gold

В то время как атаки на Verge привели к потере $3.5 миллиона, ущерб в результате атаки на Bitcoin Gold оценивается в $18 миллионов. Об атаке 51% стало известно 18 мая из блога директора по коммуникациям Bitcoin Gold Эдвард Искра.

По словам Искра, 16 мая неизвестному хакеру удалось завладеть большей частью хэшрейта сети, в результате чего он получил контроль над транзакциями в блокчейне криптовалюты. Это позволило злоумышленнику проводить двойные траты с криптовалютой, внося монеты на различные криптобиржи и тут же отменяя транзакции, а также зачисляя эти же самые монеты на свой кошелек. Атака длилась три дня: с 16 по 18 мая, а хакеру удалось накопить порядка 388,000 BTG на сумму $18 миллионов по тогдашнему курсу.

Пока разработчики Bitcoin Gold работают над решением проблемы, биржам рекомендовано увеличить количество подтверждений до 50 блоков, необходимых для зачисления BTG на счет клиента.

MonaCoin

Еще одной криптовалютой, пострадавшей в мае от действий недобросовесного майнера, стала японская монета MonaCoin. По данным издания CCN, атака 51% длилась с 13 по 15 мая. В результате неизвестному майнеру удалось получить $90,000 из-за уязвимости блокчейна криптовалюты. Это стало возможным, поскольку сеть MonaCoin предусматривает достаточно быстрое нахождение новых блоков.

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