Oto doskonały przykład jak tragicznie może skończyć się na blockchainie standardowa, znana nam z codziennego życia rutyna „kopiuj–wklej”: użytkownik portfela Ethereum (adres zaczynający się od 0xcB80) stracił aż 49 999 950 dolarów w kryptoaktywach, bo skopiował adres z historii transakcji — tyle że nie ten właściwy. Na trop nieszczęśnika trafił jako pierwszy portal do analityki danych z łańcucha bloków Lookonchain.
Jak nie stracić 50 mln dolarów w jedną minutę? Lekcja na całe życie
Mechanizm oszustwa nazywa się formalnie address poisoning (dosł. „zatrucie adresu”). Nie polega on na włamaniu do portfela ani kradzieży klucza prywatnego. To gra na przyzwyczajeniach i na tym, jak interfejsy portfeli wyświetlają adresy.
Schemat jest prosty:
- Ofiara wykonuje transakcję testową (tu: 50 USDT) na właściwy adres, do którego ma zaufanie.
- Oszust generuje adres „sobowtóra”, tak dobrany, by na pierwszy rzut oka wyglądał identycznie — często zgadza się początek i koniec (to, co zwykle widać po skróceniu).
- Następnie wysyła do ofiary drobny „pył” (mikrotransakcję), żeby jego fałszywy adres pojawił się w historii transakcji ofiary.
- Gdy ofiara wraca po chwili, kopiuje adres z historii — i wysyła środki do oszusta.
W opisywanym przypadku Lookonchain wskazał, że ofiara wykonała test na adres 0xbaf4…B6495F8b5, po czym finalnie przelała niemal 50 mln USDT na bardzo podobny adres zaczynający się od 0xBaFF2… i kończący na …86b08f8b5.
To dlatego ten scam jest tak podstępny: on nie łamie kryptografii — atakuje nasze nawyki. Portfele często skracają adresy i ukrywają środek znakiem „…”, żeby było czytelniej. Tyle że dokładnie w tej „czytelności” powstaje luka, którą da się następnie wykorzystać do niecnych celów.
Dlaczego „transakcja testowa” nie uratowała 50 milionów?
W tradycyjnym bezpieczeństwie IT test ma sens: sprawdzasz, czy działa kanał, czy nie ma błędu. W procederze zatruwania adresu test bywa… elementem scenariusza ataku.
Oszust widzi publicznie, że ofiara właśnie wysłała test na konkretny adres. Wystarczy, że natychmiast „podłoży” podobny adres do historii transakcji, bo zakłada, że ofiara wróci po chwili i skopiuje go mechanicznie, patrząc tylko na początek i koniec.
Według doniesień poszkodowany próbował jeszcze ratować sytuację, publikując wiadomość on-chain i oferując 1 mln USD w ramach tzw. „white-hat bounty”, czyli nagrodę za zwrot większości środków którą złodziej będzie mógł zatrzymać w pełni legalnie. Na chwilę obecną nie ma odpowiedzi ze strony oszusta.
Problem narasta
Portal Chainalysis opisywał w 2024 r. głośny przypadek, gdy ofiara niemal straciła około 68 mln USD w krpytowalucie WBTC w ataku typu address poisoning. Ten przykład posłużył firmie do rozłożenia całej metody na czynniki pierwsze i pokazania, że za „pojedynczym” incydentem potrafią stać całe kampanie z dziesiątkami tysięcy przygotowanych adresów-pułapek.
Co istotne: to nie jest niszowy „scam dla początkujących”. Address poisoning celuje w osoby i podmioty, które wykonują duże transfery i pracują na historii transakcji jako na „książce adresowej”, ale nie oznacza to, że jako „detaliści” jesteśmy bezpieczni.
Jak się uchronić?
Najważniejsza zasada brzmi nudnawo, ale działa: nie ufaj historii transakcji jako źródłu adresu.
W praktyce:
- Weryfikuj cały adres odbiorcy przed finalnym „Wyślij” (nie tylko pierwsze i ostatnie znaki).
- Jeśli wysyłasz duże kwoty, korzystaj z whitelisty / książki zaufanych adresów i blokad czasowych (jeżeli narzędzie je oferuje).
- Rozważ domenę ENS (tam, gdzie ma sens operacyjnie), bo zmniejsza ryzyko pomyłek na długich ciągach znaków — ale pamiętaj, że ENS też wymaga weryfikacji właściciela nazwy i jej historii.
- Traktuj „dziwne” mikrowpłaty jako sygnał ostrzegawczy: jeśli nagle widzisz w historii małe kwoty od nieznanych adresów „pod podobną końcówką”, załóż, że to próba zatrucia.