Anatomia blokady USDT: jak Tether zamraża tokeny
Od 2017 roku Tether zablokował około 8 000 adresów blockchain o wartości ponad 4 miliardów dolarów. Rozkładamy na czynniki pierwsze mechanikę techniczną: jak ze zwykłego przelewu powstaje zdarzenie AddedBlackList, co oznacza preban → ban, jak sprawdzić adres i gdzie znajduje się okno możliwości.
Tether ma techniczną możliwość zablokowania USDT znajdujących się na dowolnym adresie blockchain. Po takiej blokadzie właściciel adresu nie może już przelewać USDT, mimo że nadal widnieją one w saldzie.
Od 2017 roku Tether zainicjował blokadę około 8 000 adresów blockchain o łącznej wartości ponad 4 miliardów dolarów.
Na tle ogólnej skali obiegu USDT liczby te mogą wydawać się niewielkie. Jednak dla pojedynczego uczestnika rynku blokada staje się zdarzeniem krytycznym — zwłaszcza gdy jest przekonany, że nie zrobił nic nielegalnego. Takie przypadki nie są tak rzadkie, jak mogłoby się wydawać. Fakt, że niektóre adresy są później odblokowywane, potwierdza, że pojedyncze decyzje bywały podejmowane na podstawie błędnych wniosków inicjatora.
Blokada nie następuje arbitralnie — muszą istnieć podstawy, a sama procedura ma zarówno stronę prawną, jak i operacyjną. Te aspekty omawiamy w osobnym artykule o tym, kto faktycznie podejmuje decyzję. Celem tego artykułu jest wyjaśnienie technicznej mechaniki blokady USDT.
Jak działa zwykły przelew USDT
Aby zrozumieć proces blokowania, najpierw trzeba zrozumieć, jak technicznie przebiega zwykły przelew USDT.
Rozważmy przykład transakcji USDT w sieci TRON. Użytkownik inicjuje przelew USDT ze swojego adresu na adres odbiorcy. W tym momencie transakcja wchodzi w interakcję ze smart kontraktem USDT na TRON:
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
To smart kontrakt zajmuje się księgowaniem sald i przetwarzaniem przelewów tokenów. Gdy przelew jest wykonywany, wywoływana jest wewnętrzna logika transferu tokenów kontraktu. Na poziomie zdarzeń kontraktu jest to zapisywane jako zdarzenie Transfer — czyli przeniesienie aktywa od nadawcy do odbiorcy.
W uproszczeniu proces wygląda tak:
- Użytkownik inicjuje przelew USDT;
- Transakcja wywołuje smart kontrakt USDT;
- Kontrakt weryfikuje warunki przelewu;
- Jeśli nie ma ograniczeń, saldo nadawcy maleje, a saldo odbiorcy rośnie;
- Zdarzenie
Transferzostaje zapisane on-chain.
USDT na Ethereum działa podobnie: przelew jest przetwarzany przez smart kontrakt tokena, a udany przelew zostaje zapisany jako zdarzenie Transfer. Główne różnice między TRON a Ethereum wynikają ze środowiska technicznego: standardu tokena, formatu adresu, opłat, szybkości przetwarzania transakcji.
Mechanizmy kontroli w smart kontrakcie USDT
Oprócz zwykłych przelewów smart kontrakt USDT posiada funkcje administracyjne, które pozwalają emitentowi zarządzać obiegiem tokena w odniesieniu do konkretnych adresów. Emitent może dodać adres do czarnej listy, usunąć go z czarnej listy oraz spalić USDT znajdujące się na zablokowanym adresie.
Działania te są odzwierciedlane poprzez zdarzenia kontraktu. Dla analizy blokad kluczowe są trzy zdarzenia:
AddedBlackList— dodanie adresu do czarnej listy;RemovedBlackList— usunięcie adresu z czarnej listy;DestroyedBlackFunds— spalenie środków na zablokowanym adresie.
W uproszczeniu logika wygląda tak:
- Tether dodaje adres do BlackList;
- Smart kontrakt zaczyna rozpoznawać ten adres jako zablokowany;
- Przy próbie przelewu wychodzącego kontrakt sprawdza status adresu;
- Jeśli adres znajduje się na BlackList, przelew zostaje odrzucony;
- Jeśli adresu nie ma na BlackList, przelew może zostać zrealizowany.
Od preban do ban: jak blokada pojawia się on-chain
Blokada USDT na TRON jest zapisywana nie jako jeden, lecz jako dwa powiązane etapy on-chain: najpierw tworzona jest operacja w MultisigWallet Tethera; następnie ta operacja zostaje wykonana i skutkuje dodaniem adresu do BlackList.
Tę sekwencję można umownie podzielić na dwa zdarzenia:
- Preban — utworzenie operacji w MultisigWallet Tethera.
- Ban — faktyczne wykonanie operacji, po którym adres trafia na BlackList.
Preban: tworzenie operacji w MultisigWallet Tethera
Na etapie preban wywoływana jest metoda kontraktu multisig. W tej transakcji adres nie zostaje jeszcze faktycznie zablokowany — tworzy się jedynie operacja, którą multisig musi wykonać po wymaganym potwierdzeniu.
Kluczowe parametry transakcji preban:
W event logs transakcji preban zapisywane są zdarzenia kontraktu multisig. TransactionId to wewnętrzny identyfikator operacji w MultisigWallet Tethera, która zostanie wykonana później.
Gdzie ukryty jest adres przeznaczony do blokady
Adres, który zostanie zablokowany, nie jest wyświetlany bezpośrednio w event logs transakcji preban. Jest ukryty wewnątrz parametru Data, który należy zdekodować zgodnie z regułami Solidity ABI.
Jeśli operacja przygotowuje wywołanie funkcji blacklist, struktura danych wygląda tak:
0xecb93c0 + 32-byte address argument
(<function selector> + <ABI-encoded arguments>)
Pierwsze 4 bajty to selektor funkcji. Reszta to zakodowany w ABI argument. Aby wydobyć adres, bierze się ostatnie 20 bajtów argumentu i dekoduje.
W TRON adresy mogą być wyświetlane w dwóch formach:
- Format hex — zaczyna się od prefiksu
41; - Format Base58Check — czytelny dla człowieka, zaczyna się od
T.
Ban: faktyczne dodanie adresu do BlackList
Faktyczna blokada następuje później, gdy utworzona operacja multisig zostaje wykonana. W transakcji ban logi kontraktu USDT pokazują:
AddedBlackList(address target)
To zdarzenie stanowi potwierdzenie on-chain, że adres został dodany do BlackList.
Okno możliwości: czas od preban do ban
Między preban a ban istnieje odstęp czasowy. Zanim pojawi się zdarzenie AddedBlackList, adres nie znajduje się jeszcze na BlackList i technicznie zachowuje możliwość korzystania z USDT. Ten odstęp nazywamy oknem możliwości.
Kiedyś okno mogło wynosić dni. Teraz znacznie się skróciło — czasem godziny, czasem minuty. Zmniejsza to przewidywalność dla właściciela adresu i sprawia, że szybka reakcja jest krytyczna.
Przed zdarzeniem AddedBlackList adres może jeszcze wykonywać wychodzące przelewy USDT. Zatem z perspektywy uczciwego użytkownika, który dostrzega ryzyko nadchodzącej blokady, racjonalna kolejność działań wygląda tak: najpierw wyprowadzić środki z potencjalnie blokowanego adresu, potem zająć się przyczynami blokady.
Co dzieje się po faktycznym banie
Po blokadzie adres nie może już wysyłać USDT. Przelewy wychodzące są odrzucane przez logikę smart kontraktu. Środki nadal będą widoczne w saldzie, a przelewy przychodzące technicznie mogą docierać na taki adres.
To, co dzieje się dalej, zależy od podstaw blokady:
- Adres może pozostać na BlackList bezterminowo;
- Adres może zostać odblokowany za pomocą
RemovedBlackList; - Środki mogą zostać spalone za pomocą
DestroyedBlackFunds, z możliwą ponowną emisją na nowy adres.
Po faktycznym banie praca przenosi się na tor prawny i analityczny: ustalenie źródła ryzyka, przygotowanie analityki on-chain, potwierdzenie pochodzenia środków oraz komunikacja z Tetherem i strukturami państwowymi, które zainicjowały blokadę — z udziałem odpowiednich doradców prawnych.
Jak rozpoznać, że twój adres został zablokowany przez Tether
Użytkownicy często nie zauważają blokady od razu. Na pierwszy rzut oka wszystko wygląda normalnie: USDT są widoczne w saldzie, sieć działa, adres jest poprawny, przelewy przychodzące są pomyślnie księgowane. Ale przy próbie wysłania USDT transakcja nie przechodzi.
Inne operacje na adresie mogą nadal działać normalnie. Na przykład użytkownik może pomyślnie wysyłać TRX lub inne tokeny, podczas gdy problem pojawia się tylko przy wychodzących przelewach USDT. To ważna oznaka: blokada Tethera obowiązuje na poziomie smart kontraktu USDT, a nie całego adresu w sieci TRON.
Wychodzące przelewy USDT nie przechodzą, podczas gdy inne operacje (wysyłanie tokena natywnego, otrzymywanie środków przychodzących) działają normalnie.
— Główna oznaka blokady
Jeśli adres znajduje się na BlackList Tethera, smart kontrakt USDT odrzuca próbę przelewu wychodzącego. W portfelu może to wyglądać jak błąd wysyłania, a w eksploratorze bloków transakcja może być wyświetlana ze statusem Failed.
Ważne jest, aby odróżnić blokadę od zwykłych problemów technicznych:
- Niewystarczająca ilość tokena natywnego (TRX, ETH) na opłacenie prowizji;
- Portfel nie wysyła transakcji (błąd interfejsu, RPC lub portfela);
- Przeciążenie sieci lub tymczasowe awarie infrastruktury.
Jak sprawdzić blokadę za pomocą smart kontraktu USDT
Krok 1. Otwórz smart kontrakt USDT na TRON w Tronscan: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
Krok 2. Przejdź do zakładki Contract.
Krok 3. Otwórz sekcję Read Contract.
Krok 4. Znajdź metodę getBlackListStatus. W Tronscan może być wyświetlana jako «8. getBlackListStatus (59bf1abe)».
Krok 5. Wpisz adres, który chcesz sprawdzić, i wykonaj zapytanie.
Ręczne sprawdzanie przez Tronscan jest wystarczające do jednorazowej weryfikacji. Dla szybkiej reakcji lepiej korzystać z automatycznego monitoringu: może on śledzić dodania do BlackList poprzez zdarzenie AddedBlackList i — tam, gdzie funkcjonalność jest dostępna — ujawniać oznaki nadchodzącej blokady jeszcze przed faktycznym zdarzeniem AddedBlackList.
Jak monitorować aktywność blokad USDT w czasie rzeczywistym
Każde zdarzenie — preban, ban, unban, destroy — jest zapisywane publicznie on-chain. Oznacza to, że każdy może zbudować monitoring:
- Podejście bezpośrednie — uruchomić węzeł archiwalny TRON i Ethereum, subskrybować event logs kontraktu USDT przez WebSocket. Najtańsze pod względem kosztów, wymaga infrastruktury.
- Poprzez usługi zewnętrzne — QuickNode Streams, Alchemy webhooks, Infura. Płatne, ale bez własnej infrastruktury.
- Poprzez gotowy produkt — robimy to w czasie rzeczywistym od 2017 roku: kanał alertów w Telegramie, REST API, serwer MCP dla narzędzi AI, zbiór danych HuggingFace dla badaczy.
Dalsza lektura
- Kto naprawdę decyduje o blokadzie USDT — o źródłach blokad: organy ścigania, sankcje, wewnętrzna ocena ryzyka Tethera.
- Masowy unban 14 maja 2026 — 497 adresów w 72 minuty — praktyczny przypadek rzadkiego zdarzenia, rozłożony na czynniki pierwsze na podstawie danych on-chain.