Trainingssnippets

Blockchain Event Logs lezen voor forensisch inzicht

Event logs leggen vast wat er daadwerkelijk binnen een smart contract gebeurde. Tokenbewegingen, approval-verleningen, swap-routing, cross-chain identifiers — de forensische details die standaard transactievelden niet bevatten. Zo lees je ze.

TrainingssnippetsMaart 2026 · 4 min lezen

De meeste onderzoekers werken met afzender, ontvanger, bedrag en timestamp. Dat dekt de oppervlakte. Event logs — de gestructureerde records die contracten uitzenden tijdens uitvoering — bevatten het echte detail: welke tokens binnen een contractcall bewogen, welke goedkeuringen werden verleend, door welke pools een swap routeerde, welke identifiers twee zijden van een bridge-transactie koppelen.

Hoe event logs zijn opgebouwd

Elke event log heeft drie delen:

  • Topic 0 — de eventsignatuurhash. Een keccak256-hash van de eventnaam en parametertypes. Voor een ERC-20 Transfer is de signatuur altijd dezelfde hash, ongeacht welk tokencontract het uitzond. Hiermee identificeer je welk type event plaatsvond.
  • Topics 1-3 — geïndexeerde parameters. De waarden die de ontwikkelaar als doorzoekbaar markeerde. Bij een Transfer-event is topic 1 de afzender, topic 2 de ontvanger. Links aangevuld tot 32 bytes in hex.
  • Data — niet-geïndexeerde parameters. Al het overige. Bij een Transfer bevat dit het bedrag. Bij een Swap kan het input/output-bedragen en andere parameters bevatten, sequentieel gecodeerd.

Decoderen is mechanisch: identificeer de eventsignatuur, extraheer de geïndexeerde topics, decodeer het dataveld. Block explorers met geverifieerde contracten doen dit automatisch. Voor niet-geverifieerde contracten decodeer je handmatig met signatuurdatabases zoals 4byte.directory.

Vijf events die ertoe doen

Transfer-events. Elke ERC-20 tokenbeweging zendt er een uit. Een enkele transactie die het dashboard als één transfer toont kan tientallen Transfer-events bevatten — met tussenliggende bewegingen die het platform wegcomprimeerde.

Approval-events. Uitgezonden wanneer een wallet bestedingsrechten verleent aan een contract. Onzichtbaar in fondsstroomweergaven maar cruciaal. Een wallet die een kwaadwillend contract heeft goedgekeurd draagt actief risico, zelfs als er nog geen fondsen zijn bewogen.

Swap-events. DEX-contracten zenden events uit per poolinteractie. Een multi-hop Uniswap-swap produceert aparte Swap-events per pool — met exacte routing, tussenliggende tokens en bedragen bij elke stap.

Deposit- en Withdrawal-events. Lending protocols, vaults en staking-contracten zenden deze uit. Ze documenteren hoe DeFi-posities worden geopend en gesloten — het verband tussen gestorte en geleende assets.

Cross-chain message-events. Bridge-contracten zenden events uit met bestemmingschain-ID's, ontvangstadressen en nonce-waarden. Dit is de meest betrouwbare manier om twee zijden van een bridge-transfer te koppelen — veel beter dan bedrag- en timingcorrelatie.

Hoe ik ze lees

Open de Logs-tab in de block explorer. Identificeer eventtypes via topic 0. Lees elk Transfer-event — noteer van/naar-paren en bedragen, vergelijk met wat de analysetool toonde. Controleer op Approval-events die niet in fondsstroomweergaven verschijnen. Decodeer protocolspecifieke events met de ABI van het contract.

De verschillen tussen wat je in de logs vindt en wat de tool toonde zijn precies de details die ertoe doen. Deze vaardigheid is direct overdraagbaar naar alle EVM-chains — Ethereum, Polygon, Arbitrum, BSC en de rest.