Чуть больше недели назад исследователь, скрывающийся под никами 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, что позволит осуществлять валидацию транзакций и майнить, опираясь на количество коинов, имеющих в распоряжении пользователя.

5 комментариев

  1. Владиславище

    19.10.2018 at 16:19

    Исследователь демонстрировал слабость платформы, дабы обратить внимание общественности (разрабов крипты), на проблему. А его взяли и забанили…

  2. pba

    22.10.2018 at 09:18

    внимание общественности . нет общественности.

  3. rapedbyflash

    22.10.2018 at 12:28

    Деньги, деньги, электронные деньги… Поставить передовые технологии на службу примитивной псевдонауки… До такого мог додуматься только один социальный слой. Средний… Приспособленец. Огромное количество серверных мощностей тратится на генерацию криптоключей… Других проблем у человека нет. Дибилизм чистой воды.

  4. mk-ultra

    23.10.2018 at 14:56

    «Теперь начинаем майнить с хешрейтом выше 50% от общего хешрейта коина» ???!!! Это как осуществить на практике?

Оставить мнение