Około grudnia 2013 roku wielu graczy zauważyło podejrzane zachowanie jednego z botów na giełdzie Mt. Gox, która niedługo później upadła. Skupował on od 10 do 20 BTC co kilka minut, beż żadnej przerwy przynajmniej przez miesiąc do końca stycznia, kiedy zniknął. Przez ludzi analizujących sprawę został nazwany „Willy”. To charakterystyczne zachowanie skłoniło do przyjrzenia się danym, które wyciekły z portalu i poszukiwaniu podobnych wzorców. Wszystkie logi i historia transakcji jest dostępna na torrentach tutaj, zawiera ona dane do grudnia 2013.
Wcześniejsze analizy wykazały, że należy usunąć wszystkie zduplikowane transakcje i połączyć kupujących ze sprzedającymi zakładając 2 sekundowe lagi giełdy. Widząc poprawiony log pierwsze co można zauważyć, że nasz Willy to nie jest tylko jedno zwykłe konto. Jego aktywność jest rozrzucona na wielu użytkowników, którzy są identyfikowani przez UID numer nadany przez giełdę. Prawdopodobnie dlatego ten bot był tak trudny do wyśledzenia. Jednak to, co rzucało się w oczy to fakt, że powiązano konta w rekordzie User_Country i User_State miały „??”. Było to nietypowe, bo powinny zawierać kod miejsca z którego jest użytkownik, nic lub „!!”. Prawdopodobnie kolejno dla zweryfikowanych, niezweryfikowanych i podejrzanych użytkowników.
Dlatego śledząc konta „??” można było powiązać je z sumą sprzedanych środków. Co ciekawe, nigdy nie wykonały one ani jednej sprzedaży i wszystkie były ze sobą powiązane. Gdy jedno się dezaktywowało to jego rolę przejmowało drugie przeważnie co kilka godzin. Ich aktywność można zaobserwować aż od 27 września. Wyciekła pełna lista namierzonych transakcji skompilowana wraz z przypisaną aktywnością i ilością kupionych BTC, wydanymi USD.
Ilość kupionych BTC totalnie : 268132.73433409
Ilość wydanych USD: 111,770,744.48
Czyli za każdym razem gdy tworzono nowe konto, wydawało ono określoną okrągłą ilość dolarów – przeważnie 2,5 mln . Chwilę po tym jak skończyło, pojawiało się kolejne. Więc jeśli się zastanawiacie dlaczego w ciągu jednego miesiąca cena poszybowała tak wysoko, to macie rozwiązanie. To wcale nie byli Chińscy inwestorzy, nie był to też Silkroad.
W tym momencie do analizy wkracza nowy aspekt UID:807884 naszego bota są niespotykanie wysokie gdzie zwyczajne konta nie przekraczają 650000. Z kolei UID:698630 było aktywne przez 8 miesięcy i przestało działać na 7 godzin przed uruchomieniem naszego Willego. Daje to poważne podstawy by sadzić, że było kontrolowane przez tą samą osobę bądź grupę. Jednak to konto miało ustawiony kraj na „JP”, i kod miasta na „40” czyli Japonia,Tokio. Nazwijmy go „Markus” .
U Marcusa widać znaczące zmiany w stosunku do naszego Willego, po pierwsze ma on fee transakcji ustawione zawsze na „0”. Cena za BTC wydaje się być kompletnie przypadkowa. Warto dodać, że Marcus to właśnie „Glitch in the System” czyli anomalia w statystykach giełdy, która od dłuższego czasu jest przez wielu omawiana. Zgodnie z ich terminologią zbiór kont Willego nazywa się „ Greater Fools” (wizualizacje tu). Dalsza analiza pozwala domyślić się co było przyczyną tych randomowych cen. Bot Markus kupował od zwykłego użytkownika niewielką ilość BTC za kilka- kilkanaście dolarów, następnie robiąc kolejne kupno z pozostawionym pustym rekordem „Money” cena pozostawała poprzednia niezależnie od volumenu. Prawdopodobnie jest to wina programu generującego logi, a w rzeczywistości sam Marcus nie miał w ogóle waluty Fiat. Z jakiegoś powodu jednak Marcus sprzedawał BTC, jego największe sprzedaże zanotowano 2 czerwca. wykres z tego dnia.
Kompilacja jego działalności łącznie:
Zaczął 02:06:2013 8:22
Skończył 02:06:2013:9:47
User_ID: 698630
User: b2853e3c-3ec0-4fa5-8231-d21e2fd13330
BTC kupione: 14770.555715840008
USD wydane: $??.??
BTC sprzedane: 31579.33902558999
USD otrzymane: $3,813,128.10
Łącznie sprzedanych BTC: 16808.783309749982
Łącznie otrzymanych USD: $3,813,128.10 – $??.??
Czyli : sprzedaj 31k BTC, otrzymaj 4mln USD, odkup 15k BTC i nie wydaj nic. Całkiem dobry układ, tutaj wykres z tego dnia i wpływ na rynek:
Swoje działanie rozpoczął 14 lutego 2013 i łącznie wydrenował 297628.4405190105 BTC. Łącząc to z urobkiem Willego mamy około 570,000 BTC do listopada 2014 , kiedy to kończy się log. Jednak wielu użytkowników już wtedy go obserwowało aż do końca stycznia 2014 , gdy kupował po 2000 BTC dziennie. Daje to nam kolejne 80 000 , co pokrywałoby się z deklarowanymi zagubionymi 650 000BTC.
W tym momencie można by założyć, że haker wdarł się do systemu i mógł założyć sobie konto z dowolna ilością USD, następnie zaczął kupować BTC i je wypłacać. Później stworzył udoskonalonego Willego by utrudnić jego wykrycie. Teoretycznie wypłaty BTC dla niezweryfikowanych użytkowników były możliwe pod koniec 2013. Pytanie tylko skąd się pojawiło oznaczenia „??” zamiast „!!” pozwalając ominąć zabezpieczenia. Tutaj pojawia się wiele dowodów na to, że mogła być to robota z wewnątrz systemu i wszystkie konta kontrował sam Mt. Gox. Pierwszy oczywisty dowód to fakt, że Markus jest zarejestrowanym użytkownikiem z Tokio, jednak to zbyt oczywiste i jak widzieliśmy łatwo to można było zmienić. Dalej: u Willego na żadnym koncie nie ma odpowiedniego balansu przy wypłatach BTC- Marcus jednak je ma, około 20BTC oraz małe ilości EUR, JPY oraz PLN! Za to nie ma USD. Innymi słowy tylko waluty w których Mt. Gox mógł aktywnie kontrolować środki. Jednak najbardziej przekonywujący jest kolejny dowód. Są dwie wersje logów które wyciekły z bazy danych, pełen log i zanonimizowany hashami i z usuniętymi danymi lokalizacji. Prawdopodobnie użyto go do przedstawienia zewnętrznym audytom. Różni się on tylko w dwóch punktach, usunięto z niego podejrzane dane lokalizacyjne , a dziwne UID zmieniono na standardowe. Wstawiono też poprawne wartości w polu „Money”
Jako ciekawostkę można podać że zmieniono jego ID na numer 634, w 2011 z kolei wyciekła lista nicków klientów gdzie numer 634 odpowiada „MagicalTux”
Poprawiony plik ma wcześniejszą datę utworzenia niż pełny log. Wygląda to tak, jakby ktoś ręcznie zamazywał ślady lub jeśli wcześniejsza wersja jest poprawna i chciał ukryć MagicalTuxa zapominając, że jest poprzednia.
Dodatkowo Willy wydaje się być niewzruszony zamknięciem giełdy, która była niedostępna dla nikogo w sieci. Podczas tej czasowej usterki dalej kontynuował swoje działania, co wskazuje, że kod był wykonywany bezpośrednio na serwerze Mt. Goxa. Można by założyć, że jakiś cracker zainstalował oprogramowanie na ich maszynach i sterował nim zdalnie bez wiedzy adminów,, ale jest to ekstremalnie nieprawdopodobne.
Skoro jeden haker mógł wywołać ostatnią bańkę spekulacyjną, to ciekawe czy mógł też przedostatnią kwietniową? Działalność Marcusa była wtedy nieznaczna, jednak było mnóstwo innej podejrzanej aktywności przez użytkowników o bardzo niskim ID (<1000). Żaden z nich nie płacił Fee. Najpierw użytkownik 179200 kupuje JPY warte BTC od normalnego użytkownika, zaraz później przejęte konto z niskim ID także kupuje JPY warte BTC, ale zawsze kilka razy większą ilość. Ten cykl powtarza się ciągle i ciągle z innymi użytkownikami o niskim ID. Dodatkowo hashe tych kont nie pokrywają się z hashami oryginalnych właścicieli. Łączy się to z polityką przejmowania przez Mt.Gox nieaktywnych kont.
Teraz wróćmy do MagicTuxa, który zamieścił post na bitcointalk.org o tym, że znalazł i załatał buga na pięć godzin po tym jak rozpoczął się ten dziwny fenomen. Być może wcale nie został on załatany?
Pod sam koniec żywota giełdy Willy kupował 10-20 BTC co każde 5-10 min. Po dużych kłopotach giełdy i zatrzymaniu wypłat, nawet w JPY 26 stycznia Willy nagle przestał skupować BTC. Spowodował to fakt, że cena, która była zazwyczaj dużo wyższa niż na innych giełdach, wróciła do normy. Niedługo później 3 lutego odwrócił swoje działanie i zaczął sprzedawać ok 100 BTC na godzinę.
Istnieją też podejrzenia, że to nie pierwszy raz kiedy działał bot obniżający cenę rynkową. Za każdym razem, gdy ktoś próbował przebić określona kwotę, bot wydawał kontrofertę. Co ciekawe 19 lutego była to kwota 248.15 USD, co odpowiada dokładnie 26000 JPY.
Oraz 261.2239 USD, co odpowiada dokładnie 195 EUR.
Co ciekawe żadna z tych transakcji nie była przeprowadzana w swojej walucie, a jedynie w USD. Wygląda to na konwertowanie środków między walutami w wiele stron lub wewnętrzny handel wyrównujący ceny przez Mt. Gox.
Niestety wszystko wskazuje na to, że działanie tych dwóch botów miały ogromny wpływ na cenę waluty. Wszystkie dłuższe przerwy w działalności korelują z nagłym spadkiem wartości. Dla przykładu tutaj Willy jest odpowiedzialny za wszystkie zielone igły.
W swojej końcowej fazie zwiększył ilość kupowanych BTC do 10-100 na każde kilka minut, okazjonalnie zwiększając wartość, aż wrócił do swojej podstawowej formy 26 listopada. Dalej już wszyscy pamiętamy co się stało.
Niezależnie od tego czy była to sprawka crackera, czy osoby z wewnątrz, nie zmienia to faktu, że Mt. Gox z premedytacją funkcjonował jako wielka piramida finansowa i doprowadził do gigantycznej bańki spekulacyjnej, a potencjalnie nawet dwóch. Przez swoją nieudolność doprowadzili do strat setek milionów dolarów, a to właśnie brak środków był główną przyczyną opóźnień w wypłatach. Od wielu miesięcy podejrzewano właśnie taki stan rzeczy, zakładając jedynie niewielkie braki – jak widać niesłusznie. Teraz pozostaje mieć nadzieję, że rynek będzie rósł w bardziej kontrolowany i naturalny sposób bez Mt Goxa na rynku.
Nie ustawiono klucza aplikacji GIPHY. Sprawdź ustawienia