June 19, 2020

Хакер рассказал, как взломал кошелек с 1 BTC

Разработчик решения Juggernaut для обмена сообщениями через Lightning Network Джон Кантрелл признался, что именно он на этой неделе взломал кошелёк предпринимателя Алистера Милна и вывел один биткоин, после того как тот сам предложил это сделать. Кантреллу удалось добиться желаемого даже при том, что Милн успел выложить всего 8 и 12 слов, составляющих seed-фразу, необходимую для получения доступа к кошельку.

Как поясняет Кантрелл, после публикации 8 слов существовало около 1,1 трлн вариантов, которые требовали проверки. Ноутбук программиста был способен проверять только 1 250 вариантов в секунду или 108 млн в день. На проверку триллиона вариантов у него ушло бы 25 лет.

Чтобы оптимизировать процесс, Кантрелл арендовал несколько десятков GPU и задействовал вычислительные мощности облачного сервиса Azure от Microsoft, распределив работу между ними при помощи собственного ПО.

«На пике я тестировал около 40 млрд вариантов в час. Это означает, что на 1 трлн у меня ушло бы около 25 часов. Я понимал, что в среднем правильный ответ будет удаваться найти за 50% этого времени», – пишет он.

Удача не сопутствовала разработчику. Протестировав 85% комбинаций, он осознал, что в его алгоритме содержалась критическая ошибка. Кантрелл исходил из того, что слова были расположены в правильном порядке, но этого никто не гарантировал. Новая догадка многократно усложняла задачу, и разработчик уже готов был поверить в бесперспективность своего занятия.

«К этому моменту я уже не мог заставить себя остановиться. Я зашёл так далеко, что принял решение продолжать. К собственному удивлению, спустя небольшое время тем же вечером (на 91%), после почти 30 часов и ровно 1 трлн проверок (1 000 710 602 752) я нашёл решение!», – пишет он.

Кантрелл также сообщил, что решил заплатить комиссию выше необходимой в 0,01 BTC ($94), так как опасался, что кто-то одновременно с ним мог найти правильное решение. Он допускал наличие нескольких взломщиков, которые будут пытаться перекупить майнеров путём постоянного увеличения комиссий, однако этого, по всей видимости, не произошло.

Теперь Кантрелл намерен последовать примеру Милна и запустить собственное состязание. Он обещает организовать его таким образом, чтобы программное обеспечение не стало основным фактором победы.