Разработчик протокола обмена сообщениями Juggernaut в Lightning Network Биткоина Джон Кантрелл (John Cantrell) признался, что он – тот самый «хакер», который разгадал мнемоническую фразу для доступа к кошельку криптовалютного предпринимателя Алистера Милна (Alistair Milne).
В конце мая Алистер Милн (Alistair Milne) объявил в «конкурс» на взлом своего кошелька, содержащего 1 BTC. Предприниматель публиковал подсказки к автоматически сгенерированной мнемонической фразе из двенадцати слов, и после публикации восьмого слова одному из пользователей удалось получить доступ к кошельку и забрать себе биткоин.
Как пишет Кантрелл в статье на Medium, он начал готовиться к взлому кошелька еще до публикации восьмого слова. Он отмечает, что восьмое слово ограничивало количество возможных мнемонических фраз «примерно до 1.1 триллиона».
Мнемоническая фраза (сид) для доступа к криптовалютному кошельку - это фраза из 12 или 24 слов. Существует список из 2048 слов, которые могут содержать такие фразы, но это не намного облегчает взлом криптовалютного кошелька.
Чтобы проверить отдельную фразу, Кантреллу нужно было сгенерировать сид из мнемонической фразы, главный закрытый ключ из сида и ключ для конкретного адреса из главного закрытого ключа. После написания специальной программы и выполнения нескольких тестов оказалось, что оборудование, которое есть распоряжении Кантрелла, не может справиться с этой задачей.
Ноутбук разработчика мог проверять около 1250 мнемонических фраз в секунду, то есть 108 миллионов фраз в день.
Чтобы достичь цели, разработчик потратил примерно $350 на аренду видеокарт через vast.ai. «Максимально я проверял около 40 миллиардов фраз в час. Это значит, что для тестирования 1 триллиона фраз потребовалось бы около 25 часов. Я знал, что в среднем это должно занять около 50% этого времени», - написал Кантрелл.«Это означает, что моему процессору потребовалось бы около 25 лет, чтобы сгенерировать и проверить более триллиона возможных фраз, необходимых для брутфорса, имея в распоряжении только восемь слов», - отметил он.
Но разработчику не везло. После проверки 85% комбинаций он так и не подобрал нужную. И он понял, что, возможно, в его методе была фундаментальная ошибка. Успех плана зависел от подбора слов в правильном порядке, что не гарантировалось при используемом им методе. Спустя день Кантрелл «оставил надежду на то, что это сработает» и хотел прекратить попытки.
«Но я не мог заставить себя остановиться после того, как зашел так далеко. К моему удивлению, немного позже тем вечером, когда был проверен 91% всех фраз и после почти 30 часов и ровно 1 триллиона проверок, нужная фраза была найдена», - написал Кантрелл.
Получив доступ к кошельку, он заплатил высокую комиссию в размере 0.01 BTC, чтобы майнеры быстрее подтвердили его транзакцию, так как боялся, что кто-то другой тоже сможет взломать кошелек. Милн подтвердил вывод 1 BTC из кошелька.
«Я знал, что это произойдет быстро. Но большинство людей думали, что понадобится несколько недель на подбор четырех оставшихся слов методом полного перебора», - написал он в своем Твиттере.
Теперь Кантрелл планирует провести собственный конкурс по взлому кошелька, который «нельзя выиграть только написанием программы».