Coinnoti
☰
Nederlandsnl
Terug naar de blog

Waarom je wallet een overboeking toont die je nooit hebt verzonden: nulwaardetransacties en adresvergiftiging

Een onbekende uitgaande transactie betekent niet automatisch dat je wallet is gehackt. Lees wat records met een nulwaarde, sterk gelijkende adressen en daadwerkelijke verplaatsingen van activa werkelijk aantonen.

Wat bewijst deze vermelding over mijn wallet?

Als je geschiedenis plotseling aangeeft dat je 0 USDT naar een onbekend adres hebt gestuurd, bewijst die vermelding op zichzelf niet dat iemand toegang had tot je privésleutel. Een derde kan bepaalde records van tokenoverdrachten met een nulbedrag aanmaken waarin jouw adres staat, zonder jouw handtekening of toestemming om een positief bedrag uit te geven. Het record kan op de blockchain staan terwijl jij de transactie nooit hebt gestart.

De nuttige vragen zijn specifieker: Om welk activum gaat het? Hoeveel is er werkelijk verplaatst? Wie heeft de transactie ingediend? Welke toestemming maakte eventuele echte uitgaven mogelijk?

  • Een tokengebeurtenis met een nulbedrag bewijst niet dat je iets hebt ondertekend of uitgegeven. Bij een echte token betekent een exact nulbedrag dat bij die specifieke overdracht geen tokens zijn verplaatst.
  • Een overdracht onder een bekende tokennaam identificeert het activum niet. Een niet-gerelateerd contract kan dezelfde naam en hetzelfde symbool gebruiken.
  • Een heel kleine inkomende betaling kan echt zijn en tegelijk een misleidend afzenderadres in je geschiedenis plaatsen.
  • Een bevestigde, onverklaarde uitgaande verplaatsing van echte activa moet worden onderzocht. Negeer die niet omdat in een ander veld nul staat.

Deze gids behandelt Ethereum, BNB Smart Chain (BSC) en vergelijkbare netwerken met tokencontracten naar Ethereum-model. De voorbeelden zijn bewust vereenvoudigde, verzonnen records en geen screenshots of bevindingen over een specifieke wallet.

Bepaal eerst welk veld nul aangeeft

Mensen gebruiken nulwaardetransactie voor verschillende zaken. Slechts één van deze weergaven zegt dat de hoeveelheid tokens nul is:

  • Tokenbedrag: 0 USDC. Voor het echte USDC-contract betekent een exact nulbedrag dat deze overdracht geen USDC verplaatst.
  • Transactiewaarde: 0 ETH. Aan de hoofdtransactie was geen ETH gekoppeld. Tokens kunnen nog steeds worden verplaatst en contractacties kunnen nog steeds worden uitgevoerd.
  • Geschatte waarde: $0.00. De interface toont een waarde in fiatgeld. Dat zegt niets definitiefs over het aantal tokens.

Op BSC gebruikt het veld voor de eigen munt doorgaans BNB in plaats van ETH. Een contractinteractie met een nulwaarde in de eigen munt kan tokens overdragen, bestedingsrechten wijzigen of andere handelingen starten. Die waarde staat los van de invoergegevens van de transactie.

Een klein positief bedrag kan worden afgerond op $0.00. Ook bij een activum zonder betrouwbare koers kan de fiatweergave weinig zeggen. Bekijk het tokenbedrag met volledige precisie; zelfs een weergegeven hoeveelheid van 0.00 kan een kleiner positief bedrag verbergen. Een veranderende portfoliowaarde is geen betrouwbaar overzicht van eenheden die een rekening binnenkomen of verlaten.

Nul is een toegestaan tokenbedrag. Nul op zichzelf wijst dus niet op een aanval. Sterk gelijkende adressen en gekopieerde betalingsgegevens zijn aanwijzingen om te onderzoeken.

Waarom de twee velden From van elkaar kunnen verschillen

Een walletgeschiedenis kan gegevens uit verschillende lagen combineren:

  1. De transactie: de ondertekende instructie die naar het netwerk is verzonden. Bij een gewone Ethereum-transactie geeft het hoofdveld From de ondertekenende rekening aan.
  2. De tokengebeurtenis: een record dat een contract tijdens de uitvoering uitgeeft. Een Transfer-gebeurtenis heeft eigen velden From, To en bedrag.
  3. De geschiedenisregel: de presentatie van die informatie door de wallet of blockchainverkenner. Die kan een gebeurtenis als OUT aanduiden omdat daarin jouw adres als afzender staat.

Die twee From-velden zijn niet uitwisselbaar. Dat je adres in een gebeurtenis staat, is geen handtekening van je wallet. Een kwaadaardig contract kan je adres in gebeurtenisgegevens plaatsen, maar daardoor is zijn log nog niet afkomstig van het echte tokencontract. Het contract dat de gebeurtenis uitgeeft, is dus essentieel bewijs.

Evenzo identificeert een transactiehash een transactie, maar bewijst hij niet dat je toestemming hebt gegeven. Een opgenomen transactie met de status Success laat zien dat de buitenste uitvoering niet is teruggedraaid. Het is geen goedkeuring van de token, ontvanger of bedoeling.

Vijf toegelichte voorbeelden uit de transactiegeschiedenis

Voorbeeld 1: Een uitgaande overdracht van nul tokens die je nooit hebt ondertekend

Geschiedenisvermelding: OUT · 0 USDC · Van jouw adres naar een onbekend, sterk gelijkend adres.

  • Transaction From: een niet-gerelateerde rekening heeft de transactie ingediend.
  • Token-event From: de gebeurtenis noemt jouw adres.
  • Uitgevend tokencontract: het echte USDC-contract op dit netwerk.
  • Exact tokenbedrag: nul.

Wat dit bewijst: het echte tokencontract heeft een overdracht van nul tokens geregistreerd waarin jouw adres staat. Bij die overdracht is geen USDC verplaatst. Het bewijst niet dat je wallet de transactie heeft ondertekend, dat de aanroeper een positief bedrag mag uitgeven of dat je sleutel is gestolen.

Hoe dit gebeurt: ERC-20, de gangbare tokenstandaard, schrijft voor dat overdrachten met nulbedrag Transfer-gebeurtenissen uitsturen. In veel implementaties controleert de gedelegeerde overdrachtsfunctie transferFrom of het gevraagde bedrag groter is dan de toestemming van de aanroeper. Nul is niet groter dan een toestemming van nul. Afhankelijk van andere contractregels kan de aanroep zonder eerdere goedkeuring slagen.

Dit geldt niet gegarandeerd voor elke token. Afzonderlijke contracten kunnen extra beperkingen opleggen.

Wat je vervolgens controleert: bekijk de rest van de transactie. Een nulregel beschrijft alleen die regel; een andere handeling kan een ander effect hebben. Als het een geïsoleerd vergiftigingsrecord betreft zonder verdachte uitgaven of gewijzigde rechten, vermijd dan het geplaatste adres in plaats van direct aan te nemen dat je wallet vervangen moet worden.

Voorbeeld 2: Een neptransactie die een groot tokenbedrag toont

Geschiedenisvermelding: OUT · 2,500 USDC · Van jouw adres naar een onbekend adres.

  • Getoond tokensymbool: USDC.
  • Uitgevend contract: een niet-gerelateerd contract, niet de echte USDC.
  • Gerapporteerd gebeurtenisbedrag: 2,500.
  • Verplaatsing van echte USDC in deze transactie: geen.

Wat dit bewijst: een ander contract heeft een record uitgegeven dat onder het label USDC wordt getoond. Het bewijst niet dat 2,500 echte USDC je rekening heeft verlaten.

Een neptransactie in een wallet kan echte blockchaingegevens bevatten die misleidend worden geïnterpreteerd. Aanvallers kunnen de naam en het symbool van een token kopiëren en gebeurtenissen uitsturen die lijken op je eerdere betalingen, inclusief de bedragen. Niet-standaardcontracten kunnen bovendien overdrachtsrecords uitsturen die niet overeenkomen met veranderingen in hun eigen saldi.

Wat je vervolgens controleert: bepaal het netwerk en het exacte contract dat de gebeurtenis uitstuurde. Vergelijk dat adres met contractgegevens die je onafhankelijk bij de uitgever voor dat netwerk hebt verkregen. Een bekend tickersymbool, logo of label voor broncodeverificatie is onvoldoende om de identiteit van de uitgever vast te stellen.

Voorbeeld 3: Een heel kleine echte betaling vanaf een sterk gelijkend adres

Geschiedenisvermelding: IN · 0.000001 USDC · Van een onbekend adres naar jouw adres.

Stel dat het echte tokencontract de overdracht bevestigt en je tokensaldo met dat kleine bedrag stijgt. Dan zijn er echte tokens ontvangen. Om ze te ontvangen hoefde je de afzender niet goed te keuren, en de afzender krijgt daardoor geen bestedingsrecht.

De valkuil zit in het adres. Bekijk deze verzonnen voorbeelden, met spaties gegroepeerd zodat elk teken zichtbaar is. Echte adressen bevatten geen spaties; de vetgedrukte groepen in het midden verschillen:

Geverifieerde ontvanger: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d

Geplaatst adres: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d

Een interface die alleen het begin en einde toont, kan beide weergeven als 0x7a2f...9c4d.

Wat dit bewijst: iemand heeft je vanaf dat adres een klein bedrag gestuurd. Het bewijst niet dat de afzender je gebruikelijke ontvanger is of een rekening waarover je beschikt. Overeenkomende zichtbare tekens bewijzen geen eigendom.

Wat je vervolgens controleert: haal het bedoelde bestemmingsadres op bij een onafhankelijk geverifieerd contact of via de vertrouwde accountpagina van de ontvanger. Vergelijk het hele adres. Adresvergiftiging probeert een geplaatste geschiedenisvermelding te veranderen in het adres dat je bij een latere betaling kiest. Het verlies kan pas later ontstaan, wanneer je een volledig geldige overdracht naar de verkeerde bestemming goedkeurt.

Voorbeeld 4: Nul ETH, maar 2,500 echte tokens verlaten de rekening

Transactiekop: Value · 0 ETH.

  • Waarde in eigen munt gekoppeld aan de aanroep: 0 ETH.
  • Overdracht van echte tokens: 2,500 USDC vanaf jouw adres.
  • Verandering in USDC-saldo door deze transactie: een daling van 2,500 USDC.
  • Uitvoeringsstatus: Success.

Wat dit bewijst: in dit voorbeeld is echte USDC uitgegaan. De nul beschrijft de ETH die aan de aanroep is gekoppeld. Hij beschrijft niet de USDC-overdracht en sluit gaskosten niet uit.

Wat onbekend blijft: waarom de betaling plaatsvond en of je dat bedoelde. Het kan gaan om een swap, storting, geplande handeling, betaling aan een verkeerd adres of ongeoorloofde uitgave. Vergelijk de transactie met je eigen handeling en de bedoelde bestemming voordat je haar classificeert.

Voorbeeld 5: Echte tokens vertrekken, maar een andere rekening diende de transactie in

Geschiedenisvermelding: OUT · 500 echte USDC · Een onbekende bestemming.

Stel dat de geslaagde transactie je echte USDC-saldo met 500 verlaagde, terwijl het hoofdveld From iemand anders vermeldt.

Wat dit bewijst: de tokens zijn verplaatst. Een andere transactieafzender maakt die verplaatsing niet nep.

Een eerder goedgekeurde partij kan een tokentoestemming gebruiken zonder dat jij elke opname opnieuw moet ondertekenen. Sommige tokens ondersteunen ook permit-handtekeningen, waarmee je via een ondertekend bericht toestemming geeft die een ander kan indienen. Slimme accounts en gedelegeerde wallets bieden nog meer manieren waarop iemand anders een geautoriseerde handeling kan indienen.

Wat je vervolgens controleert: onderzoek de spender, de relevante toestemming of ondertekende machtiging en de wallethandeling. Als de afschrijving onverklaard blijft, behandel die dan als een beveiligingsincident. Het bewijs kan wijzen op een schadelijke goedkeuring, misleidende handtekening of gecompromitteerde accountcontrole; de regel alleen maakt dat onderscheid niet.

Bij een gewone direct ondertekende transactie is jouw adres in het hoofdveld From bewijs van een geldige handtekening voor die rekening. Het bewijst nog niet dat je de handeling begreep, die ontvanger bedoelde of de transactie persoonlijk begon. Het From-veld van een tokengebeurtenis levert veel minder bewijs.

Wat de 270 miljoen pogingen tot adresvergiftiging werkelijk maten

Een tweejarige analyse van activiteiten op Ethereum en BSC, van 1 juli 2022 tot en met 30 juni 2024, identificeerde ongeveer 270 miljoen vergiftigende overdrachtsrecords gericht op 17 miljoen adressen.

De records vielen in drie categorieën:

  • 147.7 miljoen overdrachten met nulwaarde.
  • 118.4 miljoen overdrachten van namaaktokens.
  • 4.0 miljoen zeer kleine overdrachten.

Deze overdrachtsrecords zaten in ongeveer 18.2 miljoen transacties, omdat aanvallers records kunnen bundelen. Gevizeerde adressen zijn niet hetzelfde als personen, gecompromitteerde wallets of slachtoffers die geld verloren.

De analyse identificeerde 6,633 succesvolle betalingen aan aanvallers van in totaal minstens $83.8 miljoen. Sommige slachtoffers betaalden meerdere keren. De detectie richtte zich op geselecteerde stablecoins, dus het geschatte verlies is een ondergrens binnen die afbakening, geen totaal voor alle tokens of blockchains.

In de praktijk mist wie alleen op nulbedragen controleert een groot deel van de aanval. Namaakvermeldingen kunnen een betekenisvolle betaling nabootsen en een kleine inkomende overdracht kan echte tokens verplaatsen terwijl een gevaarlijk adres wordt geïntroduceerd.

Zo onderzoek je jouw specifieke vermelding

  1. Open de transactie op het juiste netwerk. Gebruik de verkenneroptie van je wallet of een bekende verkenner zoals Etherscan of BscScan. Controleer de transactiestatus. Het lezen van openbare transactiegegevens vereist niet dat je een wallet verbindt, tokens goedkeurt, een bericht ondertekent of een herstelzin invoert.
  2. Identificeer het echte activum. Onderscheid eigen ETH of BNB van een token met die naam. Controleer bij tokens het exacte netwerk en het uitgevende contract aan de hand van een betrouwbare referentie van de uitgever.
  3. Lees het bedrag met volledige precisie. Houd de tokenhoeveelheid, de eigen transactiewaarde en de schatting in fiatgeld uit elkaar.
  4. Onderscheid de transactieafzender van de gebeurtenisafzender. Onderzoek bij een slim account ook de wallethandeling en de rechten. Dat een ander de gaskosten betaalt, bewijst niet dat je activa niet verplaatst kunnen zijn.
  5. Controleer de hele transactie. Bekijk alle tokenverplaatsingen, overdrachten van de eigen munt en relevante wijzigingen van rechten. Gebruik eventuele saldoveranderingen op transactieniveau in de verkenner om het resultaat te controleren. Een vandaag ongewijzigd saldo is zwakker bewijs: latere stortingen of compenserende overdrachten kunnen eerdere bewegingen verbergen.
  6. Verifieer de bestemming onafhankelijk. Gebruik vertrouwde betalingsgegevens van de ontvanger of een eerder geverifieerd adresboekitem. Een recente geschiedenisregel is iets om te onderzoeken, geen bewijs van de juiste bestemming.

Als de verkenner geen duidelijk resultaat geeft, verstrek dan het netwerk en de openbare transactiehash aan de officiële ondersteuning van je walletaanbieder. Beschrijf welke handeling je eventueel verwachtte. Zo kun je een onbekende maar bedoelde handeling onderscheiden van onverklaarde uitgaven zonder de geheimen prijs te geven die je wallet beheren.

Wat te doen na de controle

Als je alleen een geïsoleerd vergiftigingsrecord hebt gevonden

Verberg of meld de spam als je wallet dat ondersteunt en gebruik de adressen ervan niet. Het verbergen van een regel verandert de interface; het wist geen blockchaingeschiedenis en trekt geen rechten in.

Een overdracht van nul kan plaatsvinden met een toestemming van nul, dus het record op zichzelf is geen reden om elke goedkeuring in te trekken of al je geld te verplaatsen. Er hoeft geen bestedingsrecht bij dit record te horen dat je kunt verwijderen. Gebruik nooit de aangeprezen website van een token of een herstel-link van een onbekende om je wallet te ‘reinigen’.

Als je een verdachte bestedingsmachtiging hebt gevonden

Gebruik de vertrouwde functie van je wallet voor het beheren van goedkeuringen om de betreffende toestemming te controleren en in te trekken. Een website loskoppelen van je wallet trekt bestaande on-chain tokengoedkeuringen niet in. Intrekking verhelpt die toestemming, maar herstelt geen gestolen privésleutel.

Als echte activa zonder jouw bedoeling zijn verplaatst

Bewaar de transactiehash, het netwerk, het betreffende activum en de relevante adressen. Controleer recente handtekeningen, goedkeuringen en wallethandelingen via officiële ondersteuningskanalen.

Als er aanwijzingen zijn dat je herstelzin of privésleutel is blootgesteld, maak dan op een vertrouwd apparaat een nieuwe wallet met een nieuwe herstelzin en stel een zorgvuldig plan op om resterende activa te verplaatsen. Een ander account dat van dezelfde gecompromitteerde zin is afgeleid, verhelpt dat probleem niet. Als geld automatisch verdwijnt, blijf dan geen gaskosten toevoegen: een sweeper kan die afpakken.

Als je bewust een betaling hebt ondertekend maar een vergiftigd bestemmingsadres hebt gekopieerd, leg dat onderscheid dan vast. De betaling kan correct zijn ondertekend en uitgevoerd, maar naar de verkeerde ontvanger zijn gegaan. Dat bewijst op zichzelf niet dat je privésleutel is gestolen.

Veelgestelde vragen over onbekende transacties

Heeft de aanvaller mij gaskosten laten betalen?

In het gewone scenario van adresvergiftiging dient de aanvaller de transactie in en betaalt deze de netwerkkosten. Alleen je adres noemen in een tokengebeurtenis brengt geen kosten in rekening bij je account. Maar door gesponsorde transacties en slimme accounts zegt alleen de betaler van de kosten niet of een handeling onschadelijk was. Controleer de werkelijke effecten.

Wat als de transactie is mislukt?

Bij een teruggedraaide tokenoverdracht is die overdracht niet voltooid, al kunnen gaskosten wel worden berekend. Als de wallet accountdelegatie gebruikt, controleer dat dan apart: Ethereum kan een delegatie behouden, zelfs wanneer latere uitvoering mislukt. Een onbekende delegatie verdient onderzoek.

Zou een hardwarewallet adresvergiftiging voorkomen?

Die biedt een extra plek om de bestemming te controleren voordat je ondertekent. Hij kan een door de aanvaller beheerde bestemming niet correct maken als je die goedkeurt. Vergelijk het volledige adres op het vertrouwde ondertekeningsscherm met onafhankelijk geverifieerde ontvangergegevens.

Kan ik voorkomen dat onbekenden deze vermeldingen toevoegen?

Meestal kun je niet voorkomen dat derden activa versturen of toepasselijke records aanmaken rond een openbaar adres. Filters van wallets en verkenners kunnen beperken wat je ziet. Bewaar geverifieerde ontvangers en controleer de volledige bestemming voordat je betaalt; alleen nulwaardevermeldingen verbergen vangt niet alle varianten met namaaktokens of minieme overdrachten op.