01 · Объяснение

Anatomie van een USDT-blacklist: hoe Tether tokens bevriest

Sinds 2017 heeft Tether ongeveer 8.000 blockchain-adressen met meer dan 4 miljard dollar op de blacklist gezet. We ontleden de technische werking: hoe een gewone overboeking een AddedBlackList-gebeurtenis wordt, wat preban → ban betekent, hoe je een adres controleert en waar het opportuniteitsvenster ligt.

explainerCryptoAlert Research

Tether heeft het technische vermogen om USDT te blokkeren die op elk blockchain-adres staan. Na zo'n blokkering kan de adreseigenaar geen USDT meer overboeken, ook al blijven ze in het saldo verschijnen.

Sinds 2017 heeft Tether de blacklisting geïnitieerd van ongeveer 8.000 blockchain-adressen met een gecombineerde waarde van meer dan 4 miljard dollar.

Afgezet tegen de totale omvang van de USDT-circulatie lijken deze cijfers misschien klein. Maar voor een individuele marktdeelnemer wordt een blacklist een kritieke gebeurtenis — vooral wanneer hij ervan overtuigd is niets illegaals te hebben gedaan. Zulke gevallen zijn niet zo zeldzaam als ze lijken. Het feit dat sommige adressen later worden gedeblokkeerd, bevestigt dat individuele beslissingen soms werden genomen op basis van onjuiste conclusies van de initiator.

Blacklisting gebeurt niet willekeurig — er moeten gronden zijn, en de procedure heeft zowel een juridische als een operationele kant. Die aspecten behandelen we in een apart artikel over wie de beslissing eigenlijk neemt. Het doel van dit artikel is de technische werking van USDT-blacklisting uit te leggen.

01Basis

Hoe een gewone USDT-overboeking werkt

Om het blokkeringsproces te begrijpen, moeten we eerst begrijpen hoe een gewone USDT-overboeking technisch verloopt.

Neem als voorbeeld een USDT-transactie op het TRON-netwerk. De gebruiker initieert een overboeking van USDT vanaf zijn adres naar het adres van een ontvanger. Op dat moment interacteert de transactie met het USDT-smart contract op TRON:

TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

Het smart contract is wat de saldoboekhouding en de verwerking van tokenoverboekingen afhandelt. Wanneer een overboeking wordt uitgevoerd, wordt de interne token-transferlogica van het contract aangeroepen. Op gebeurtenisniveau van het contract wordt dit vastgelegd als een Transfer-gebeurtenis — dat wil zeggen, de verplaatsing van een activum van afzender naar ontvanger.

Vereenvoudigd ziet het proces er zo uit:

  1. De gebruiker initieert een USDT-overboeking;
  2. De transactie roept het USDT-smart contract aan;
  3. Het contract verifieert de overboekingsvoorwaarden;
  4. Als er geen beperkingen zijn, daalt het saldo van de afzender en stijgt het saldo van de ontvanger;
  5. Een Transfer-gebeurtenis wordt on-chain vastgelegd.

USDT op Ethereum werkt op vergelijkbare wijze: een overboeking wordt verwerkt via het smart contract van de token, en een geslaagde overboeking wordt vastgelegd als een Transfer-gebeurtenis. De belangrijkste verschillen tussen TRON en Ethereum komen voort uit de technische omgeving: tokenstandaard, adresformaat, kosten, verwerkingssnelheid van transacties.

USDT-contracts op de belangrijkste netwerken
02Controle

Controlemechanismen in het USDT-smart contract

Naast gewone overboekingen heeft het USDT-smart contract administratieve functies waarmee de uitgever kan beheren hoe de token circuleert voor specifieke adressen. De uitgever kan een adres aan de blacklist toevoegen, het van de blacklist verwijderen en USDT op een geblacklist adres verbranden.

Deze acties worden weerspiegeld via contractgebeurtenissen. Voor het analyseren van blacklisting zijn drie gebeurtenissen essentieel:

  • AddedBlackList — een adres aan de blacklist toevoegen;
  • RemovedBlackList — een adres van de blacklist verwijderen;
  • DestroyedBlackFunds — geld op een geblacklist adres verbranden.

Vereenvoudigd ziet de logica er zo uit:

  1. Tether voegt een adres toe aan de BlackList;
  2. Het smart contract begint dit adres als geblokkeerd te herkennen;
  3. Bij een poging tot een uitgaande overboeking controleert het contract de adresstatus;
  4. Als het adres in de BlackList staat, wordt de overboeking geweigerd;
  5. Als het adres niet in de BlackList staat, kan de overboeking doorgaan.
03Tweefasige blacklist

Van preban naar ban: hoe blacklisting on-chain verschijnt

USDT-blacklisting op TRON wordt niet als één, maar als twee gerelateerde on-chain fasen vastgelegd: eerst wordt een operatie aangemaakt in Tethers MultisigWallet; daarna wordt die operatie uitgevoerd en leidt ertoe dat het adres aan de BlackList wordt toegevoegd.

Deze volgorde kan voorwaardelijk in twee gebeurtenissen worden opgesplitst:

  1. Preban — het aanmaken van de operatie in Tethers MultisigWallet.
  2. Ban — de daadwerkelijke uitvoering van de operatie, waarna het adres in de BlackList terechtkomt.

Preban: de operatie aanmaken in Tethers MultisigWallet

In de preban-fase wordt een methode van het multisig-contract aangeroepen. In deze transactie wordt het adres nog niet daadwerkelijk op de blacklist gezet — er wordt slechts een operatie aangemaakt die de multisig na de vereiste bevestiging moet uitvoeren.

Belangrijke parameters van een preban-transactie:

Parameters van de preban-transactie in MultisigWallet

In de event logs van de preban-transactie worden de gebeurtenissen van het multisig-contract vastgelegd. TransactionId is de interne identificatie van de operatie in Tethers MultisigWallet die later wordt uitgevoerd.

Waar het te blacklisten adres verborgen is

Het adres dat op de blacklist zal komen wordt niet rechtstreeks weergegeven in de event logs van de preban-transactie. Het is verborgen in de parameter Data, die moet worden gedecodeerd volgens de regels van Solidity ABI.

Als de operatie een aanroep van een blacklist-functie voorbereidt, ziet de datastructuur er zo uit:

0xecb93c0 + 32-byte address argument
(<function selector> + <ABI-encoded arguments>)

De eerste 4 bytes zijn de function selector. De rest is het ABI-gecodeerde argument. Om het adres te extraheren, neem je de laatste 20 bytes van het argument en decodeer je ze.

In TRON kunnen adressen in twee vormen worden weergegeven:

  • Hex-formaat — begint met het 41-voorvoegsel;
  • Base58Check-formaat — leesbaar voor mensen, begint met T.

Ban: het adres daadwerkelijk aan de BlackList toevoegen

De daadwerkelijke blacklist gebeurt later, wanneer de aangemaakte multisig-operatie wordt uitgevoerd. In de ban-transactie tonen de logs van het USDT-contract:

AddedBlackList(address target)

Deze gebeurtenis is de on-chain bevestiging dat het adres aan de BlackList is toegevoegd.

04Reactievenster

Het opportuniteitsvenster: tijd van preban naar ban

Tussen preban en ban zit een tijdsverschil. Voordat de AddedBlackList-gebeurtenis verschijnt, staat het adres nog niet in de BlackList en behoudt het technisch de mogelijkheid om USDT te gebruiken. Dit tijdsverschil noemen we het opportuniteitsvenster.

Dagen
Venster vroeger
2017–begin jaren 2020: tussen preban en ban — tot enkele dagen
Uren
Venster nu
Typisch gemiddelde: 1 tot 24 uur
Minuten
In gecoördineerde gevallen
Bij batch-blacklist-gebeurtenissen — seconden tot enkele minuten

Het venster besloeg vroeger dagen. Nu is het aanzienlijk korter geworden — soms uren, soms minuten. Dit vermindert de voorspelbaarheid voor de adreseigenaar en maakt een snelle reactie cruciaal.

Vóór de AddedBlackList-gebeurtenis kan het adres nog uitgaande USDT-overboekingen uitvoeren. Dus vanuit het perspectief van een bonafide gebruiker die een risico op een dreigende blacklist ziet, is de rationele volgorde van handelingen: eerst de gelden weghalen van het potentieel geblokkeerde adres, daarna de redenen aanpakken van de blokkering.

05Na de ban

Wat er gebeurt na de daadwerkelijke ban

Na de blokkering kan het adres geen USDT meer verzenden. Uitgaande overboekingen worden door de smart-contract-logica geweigerd. De gelden blijven in het saldo verschijnen, en inkomende overboekingen kunnen technisch nog steeds op het adres aankomen.

Wat er daarna gebeurt, hangt af van de gronden voor de blacklisting:

  • Het adres kan voor onbepaalde tijd in de BlackList blijven;
  • Het adres kan worden gedeblokkeerd via RemovedBlackList;
  • Gelden kunnen worden verbrand via DestroyedBlackFunds, met mogelijke heruitgifte aan een nieuw adres.

Na de daadwerkelijke ban verschuift het werk naar het juridische en analytische spoor: het identificeren van de risicobron, het voorbereiden van on-chain analyse, het bevestigen van de herkomst van de gelden en het communiceren met Tether en de overheidsstructuren die de blacklist hebben geïnitieerd — met betrokkenheid van relevante juridische adviseurs.

06Signalen

Hoe je merkt dat je adres door Tether is geblacklist

Gebruikers merken de blacklist vaak niet meteen op. Op het eerste gezicht ziet alles er normaal uit: USDT wordt in het saldo getoond, het netwerk werkt, het adres is correct, inkomende overboekingen worden succesvol bijgeschreven. Maar bij een poging om USDT te verzenden, mislukt de transactie.

Andere operaties op het adres kunnen normaal blijven werken. De gebruiker kan bijvoorbeeld succesvol TRX of andere tokens verzenden, terwijl het probleem alleen bij uitgaande USDT-overboekingen optreedt. Dit is een belangrijk signaal: Tethers blacklist geldt op het niveau van het USDT-smart contract, niet voor het hele adres op het TRON-netwerk.

Uitgaande USDT-overboekingen mislukken, terwijl andere operaties (verzenden van native tokens, ontvangen van inkomende gelden) normaal werken.

Het belangrijkste signaal van blacklisting

Als het adres in Tethers BlackList staat, weigert het USDT-smart contract de poging tot een uitgaande overboeking. In de wallet kan dit verschijnen als een verzendfout, en in de block explorer kan de transactie met de status Failed worden getoond.

Het is belangrijk om blacklisting te onderscheiden van gewone technische problemen:

  • Onvoldoende native token (TRX, ETH) om de kosten te betalen;
  • De wallet verzendt de transactie niet (UI-, RPC- of wallet-fout);
  • Netwerkcongestie of tijdelijke infrastructuurstoringen.
07Verificatie

Hoe je blacklisting controleert via het USDT-smart contract

Stap 1. Open het USDT-smart contract op TRON in Tronscan: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

Stap 2. Ga naar het tabblad Contract.

Stap 3. Open de sectie Read Contract.

Stap 4. Zoek de methode getBlackListStatus. In Tronscan kan deze verschijnen als «8. getBlackListStatus (59bf1abe)».

Stap 5. Voer het adres in dat je wilt controleren en voer de query uit.

Resultaat van de getBlackListStatus-aanroep

Handmatige controle via Tronscan is prima voor een eenmalige verificatie. Voor een snelle reactie kun je beter geautomatiseerde monitoring gebruiken: die kan BlackList-toevoegingen volgen via de AddedBlackList-gebeurtenis en — waar de functionaliteit beschikbaar is — signalen van een dreigende blacklist naar voren brengen vóór de daadwerkelijke AddedBlackList-gebeurtenis.

08Waar je live kunt kijken

Hoe je USDT-blacklist-activiteit in realtime monitort

Elke gebeurtenis — preban, ban, unban, destroy — wordt openbaar on-chain vastgelegd. Dit betekent dat iedereen monitoring kan bouwen:

  • Directe aanpak — een TRON- en Ethereum-archive node draaien, je abonneren op de event logs van het USDT-contract via WebSocket. Het goedkoopst qua kosten, vereist infrastructuur.
  • Via externe diensten — QuickNode Streams, Alchemy webhooks, Infura. Betaald, maar zonder eigen infrastructuur.
  • Via een kant-en-klaar product — wij doen dit in realtime sinds 2017: Telegram-alertfeed, REST API, MCP-server voor AI-tools, HuggingFace-dataset voor onderzoekers.

Verder lezen