Чуть больше недели назад исследователь, скрывающийся под никами team-periwinkle и GeoCold (в честь известного хакера Джорджа «geohot» Хоца), пообещал на Reddit, что он проведет атаку 51% на криптовалюту Einsteinium (EMC2) и будет транслировать происходящее в прямом эфире.

GeoCold сдержал свое обещание, хотя он атаковал не Einsteinium, а криптовалюту Bitcoin Private (BTCP), но о возможной смене токена-жертвы хакер предупреждал заранее. Как и планировалось, исследователь демонстрировал свою атаку в прямом эфире, сначала через Twitch, затем через StreamMe. В конечном счете, он был забанен на обеих платформах.

Тем не менее, атака удалась и GeoCold доказал свою точку зрения – провести атаку 51% на криптовлюту с небольшой рыночной капитализацией не так уж трудно. Хакер рассказал изданию BleepingComputer, что это далеко не первая подобная атака на его счету, и перечислил девять шагов, необходимых для реализации подобной схемы:

  • Понадобится два сервера с одним кошельком, запущенным на них.
  • На одном из серверов настраиваем майнинговый пул, назовем этот сервер оффлайновым.
  • Отключим кошелек этого сервера от всех пиров в сети.
  • Осуществим транзакцию с адреса А (который актуален для обоих кошельков/серверов) на адрес B – любой произвольный адрес, так же принадлежащий нам.
  • Теперь начинаем майнить с хешрейтом выше 50% от общего хешрейта коина, чтобы мы могли стабильно получать более длинный блокчейн, чем нормальная сеть.
  • Теперь к онлайновому кошельку/серверу, мы отправляем деньги, которые только что передали с оффлайнового сервера, в обменник. Дожидаемся, пока они поступят на депозит, обмениваем на любую другую криптовалюту, к примеру, Bitcoin, и выводим их.
  • К этому моменту у нас на оффлайновом сервере будет более длинный блокчейн, содержащий транзакцию, которая конфликтует с той, которую мы только что направили обменнику.
  • Мы выводим оффлайновый сервер в онлайн, и мир узнает о нашем новом, более длинном блокчейне, и все начинают его использовать, потому что он длиннее. Они сливают свои чейны с нашим и обнаруживают конфликтующие транзакции (ту, что мы послали с адреса A на адрес B, и ту, что была адресована обменнику). Они выбирают транзакцию с адреса A на адрес B, потому как она является частью более длинной цепочки.       
  • Бум! Готово, вы удвоили свои деньги с помощью криптомагии.

Атакуя BTCP, GeoCold успел осуществить первые шесть шагов из данного списка перед аудиторией своих стримов. Седьмой шаг он завершил в оффлайне, но не стал доводить атаку до конца без зрителей, ведь идея заключалась в демонстрации проблемы, а не в осуществлении бездумных финансовых махинаций.

«Я считаю, что мир должен знать, как легко это провернуть. Когда говоришь людям об атаке 51%, они отвечают, что это невозможно по причинам X,Y,Z, а я хотел показать им, что это возможно, и разработчикам нужно пофиксить их коин», — говорит GeoCold.

Защититься от подобных атак, по мнению исследователя, не так сложно. Достаточно использовать чекпойнтинг или гибридный Proof of Stake, что позволит осуществлять валидацию транзакций и майнить, опираясь на количество коинов, имеющих в распоряжении пользователя.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    5 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии