Haker zdradza jak złamał adres Bitcoina



Deweloper Bitcoin John Cantrell sprawdził ponad bilion kombinacji słów, aby odblokować adres Bitcoin i wziąć pieniądze. Oto jak.

Bitcoin
DEWELOPER BITCOINÓW JOHN CANTRELL „UKRADŁ“ PORTFEL BTC Z ALISTAIR MILNE. OBRAZ: SHUTTERSTOCK

W skrócie

Deweloper Bitcoin John Cantrell ujawnił się jako haker, który złamał adres Bitcoin Alistaira Milne’a – jako część swojego wyzwania.
Aby odebrać nagrodę, Cantrell stworzył całą orkiestrę układów GPU opartych na chmurze.
Musiał sprawdzić ponad bilion kombinacji słów, by otworzyć portfel, i prawie zrezygnował z prób.
John Cantrell, twórca protokołu komunikacyjnego Lightning Network Juggernaut, złamał wczoraj adres Bitcoina i zabrał dla siebie monety o wartości 9 300 dolarów. Ale to nie była kradzież, to była część gry, którą wygrał. Teraz ujawnił, jak to zrobił.

Jak poinformował wczoraj Decrypt, Alistair Milne, CIO Cyfrowego Funduszu Walutowego Altana, zaaranżował wyzwanie na Twitterze, gdzie zwycięzca dostałby cały Bitcoin. Począwszy od maja, okresowo publikował podpowiedzi do 12 słów frazy nasion dla adresu portfela, który zawierał jeden Bitcoin. Ktokolwiek podniósł wszystkie wskazówki można użyć zwrotu do odblokowania portfela Bitcoin i wziąć Bitcoin wewnątrz.

Jak sprawdziłem ponad 1 bilion mnemoników w 30 godzin, aby wygrać Bitcoin
Alistair Milne napisał na Twitterze, że planuje oddać 1 Bitcoin w portfelu wygenerowanym za pomocą 12-słowowego mnemonika…

Jednak Milne planowała umieścić ostatnie trzy lub cztery słowa za jednym zamachem. Była to próba uniemożliwienia komuś brutalnego wymuszenia otwarcia adresu (poprzez ciągłe odgadywanie słów, aż do momentu, gdy zadziałała kombinacja). Ale jego plan się nie powiódł. Mając tylko osiem słów, Cantrell był w stanie odgadnąć pozostałe słowa, znaleźć właściwą kombinację i odblokować portfel.

Hackowanie adresu Bitcoin’a

Zanim ukazało się ósme słowo, Cantrell zaczął się przygotowywać. Napisał w swoim poście Medium, że przy ośmiu słowach będzie „około 1,1 biliona możliwych mnemotechników“, które trzeba będzie sprawdzić.

Mnemotechnika to 12 lub 24-słowo-słowne określenie klucza prywatnego Bitcoin Future, który daje pełny dostęp do funduszy, które są na nim przechowywane. Istnieje ograniczona lista 2048 słów, które takie zwroty mogą zawierać – ale to nie ułatwia hakowania portfela Bitcoinów.

Ekspercka 1-dniowa recenzja bezpieczeństwa
ConsenSys Diligence znajduje się w czołówce kryptografii ofensywnej, technologii łańcuchów blokowych oraz kryptoekonomicznej analizy motywacji.

Wraz z Decrypt

Aby przetestować pojedynczą frazę, Cantrell musiał wygenerować ziarno z mnemotechnicznego, główny klucz prywatny z ziarna i adres z głównego klucza prywatnego. Po napisaniu specjalnego programu i uruchomieniu kilku benchmarków okazało się, że sprzęt, który wówczas posiadał, nie nadawał się do tego zadania.

Laptop Cantrella był w stanie sprawdzić tylko około 1250 mnemoników na sekundę, w sumie 108 milionów dziennie. „Oznacza to, że mój procesor potrzebowałby około 25 lat, aby wygenerować i sprawdzić 1 bilion możliwości potrzebnych do wymuszenia mnemotechniki, znając tylko 8 słów“, zauważył. I to jeśli brakuje tylko czterech słów.

Aby rozwiązać ten problem, Cantrell poszukiwał chmury obliczeniowej. Wypożyczył kilkadziesiąt kart graficznych na rynku GPU i usługi cloud computing firmy Microsoft Azure i napisał oprogramowanie, które rozprowadzałoby pracę w partiach na każdej karcie graficznej.

W trakcie testów tego systemu opublikowano ósme słowo, a gra była włączona. On uruchomił maszyny.

Bitcoin
Ten adres Bitcoina został właśnie celowo zhakowany.
Portfel z 1 BTC był po prostu brutalnie wymuszony, ale nie martw się: jego właściciel chciał go w ten sposób. Alistair Milne, CIO Altana Digital Currency Fund, napisał dziś rano na tweeterze, że obudził się do…

„W szczytowym momencie testowałem około 40 miliardów mnemoników na godzinę. To znaczy, że testowanie 1 biliona mnemoników powinno zająć około 25 godzin. Wiedziałem, że średnio powinno to zająć tylko 50% czasu“, powiedział Cantrell.

Ale miał niesamowitego pecha. Po przetestowaniu 85% kombinacji, nie miał szczęścia. I zdał sobie sprawę, że mógł mieć zasadniczą wadę. Jego plan polegał na tym, że słowa były w odpowiednim porządku – co nie było zagwarantowane. Gdyby tak nie było, „było by ich 8! więcej możliwości“, co uniemożliwiłoby złamanie.

W ciągu jednego dnia intensywnych obliczeń, później Cantrell „w dużej mierze zrezygnował z nadziei, że to zadziała“ i „dosłownie prawie go wyłączył“.

„Nie mogłem się zmusić do tego, by w tym momencie faktycznie to zatrzymać, ponieważ doszedłem do tego tak daleko, że po prostu pozwoliłem na kontynuację. Ku mojemu zaskoczeniu trochę później tego wieczoru (91%) i po prawie 30 godzinach i dokładnie 1 bilionie czeków (1,000,710,602,752) znalazł rozwiązanie!“ Cantrell powiedział.

Hakerowi zajęło to tylko 44 godziny, by użyć brutalnej siły. Zapłacili ogromną opłatę górniczą (0.01BTC!), więc obawiali się, że inni zrobią to samo i poczuli się pod presją

Następnie zapłacił zbyt wysoką opłatę w wysokości 0,01 Bitcoin ($94) za przekazanie pieniędzy do własnego portfela, w przypadku gdy ktokolwiek…