Tracing und Transaktionsgraphen · Lektion 2 von 6
Tracing nach beweisrechtlichen Maßstäben
12 Min. Lesezeit
Jeder Analyst kann eine Transaktion in einem Explorer verfolgen. Ein forensisches Tracing ist etwas anderes: Eine Staatsanwaltschaft liest es möglicherweise, bevor sie über eine Anklage entscheidet, ein Gericht stützt sich womöglich darauf, um Vermögen einer Person einzufrieren, und ein Sachverständiger der Gegenseite führt es möglicherweise Zeile für Zeile erneut durch. Diese Lektion behandelt, welche Aussagen ein Tracing trifft, wie Sie es bewerten und begrenzen, wie Sie jeden Hop so dokumentieren, dass er überprüft werden kann, und wie eine unabhängige erneute Durchführung ein Tracing zu einem Beweismittel macht.
Vorwärts- und Rückwärts-Tracing
Vorwärts-Tracing beginnt bei einer bekannten Quelle, etwa einer Diebstahladresse, einer Lösegeldzahlung oder einer sanktionierten Wallet, und folgt ausgehenden Kanten, um festzustellen, welche Dienste die Gelder erhalten haben, welche Adressen sie noch halten und ob Gelder eingefroren werden können. Rückwärts-Tracing beginnt bei einem Ziel, üblicherweise einer Einzahlung bei einer Börse, und folgt eingehenden Kanten, um die Frage „Woher stammt dieses Geld?“ zu beantworten. Risikoteams von Börsen führen dies bei Prüfungen der Mittelherkunft durch: Eine Einzahlung, die einen Hop von einem Darknet-Marktplatz entfernt ist, stellt ein anderes Risiko dar als eine Einzahlung, die zehn Hops entfernt über eine große Börse eingegangen ist.
In beiden Richtungen wird die Entfernung in Hops gemessen, der Anzahl der Transfers zwischen zwei Punkten. Direkte Exposition bedeutet, dass die Gegenpartei einen Hop entfernt ist; indirekte Exposition bedeutet, dass die Verbindung über zwischengeschaltete Adressen verläuft. Die Anzahl der Hops ist nur in einem sorgfältig definierten Graphen aussagekräftig (Lektion 3.1): Ein Hop in einem Entitätsgraphen kann zehn Hops in einem Adressgraphen entsprechen.
Welche Aussagen ein Tracing trifft
Ein Tracing ist eine Aussage über den Wertfluss: Ein Wert, der Adresse A verlassen hat, gelangte über einen angegebenen Pfad und unter Anwendung einer angegebenen Zuordnungsmethode zu Adresse B, wie bis zu einem angegebenen Block beobachtet. Es ist keine Aussage über Identität. „Die Lösegelder gelangten zu einer Einzahlungsadresse der Börse K“ ist eine Tracing-Feststellung. „Der Verdächtige erhielt das Lösegeld“ verbindet eine Tracing-Feststellung, eine Attribution und üblicherweise Unterlagen, die im Rahmen rechtlicher Verfahren beschafft wurden (Lektion 4.5).
Diese Aussagen sind auf unterschiedliche Weise angreifbar. Jeder, der über eine Kopie der Blockchain verfügt, kann einen Wertfluss überprüfen; eine Attribution beruht auf Kennzeichnungen, Unterlagen oder Heuristiken, die falsch oder veraltet sein können. Vermischen Sie beides in einem Satz, muss ein Sachverständiger der Verteidigung nur die schwächere Aussage widerlegen, um beide zu diskreditieren. Zerlegen Sie jede Feststellung in drei Fragen:
| Frage | Typische Beweismittel | Typische Schwäche |
|---|---|---|
| Wertfluss: Hat sich Wert von A nach B bewegt? | Auf einem Knoten verifizierte Transaktionsdaten | Nahezu keine, sobald der Block final ist |
| Zuordnung: Wie viel dieses Werts ist der untersuchte Wert? | Eine offengelegte Tracing-Methode | Das Ergebnis hängt von der gewählten Methode ab |
| Kontrolle: Wer kontrolliert A oder B? | Heuristiken, Kennzeichnungen, Unterlagen von Anbietern | Fehlerquoten, veraltete Kennzeichnungen, gemeinsam genutzte Adressen |
Drei Arten von Verbindungen
Jeder Hop beruht auf einer von drei Arten von Verbindungen.
Eine deterministische Verbindung ist in den Blockchain-Daten selbst festgehalten. In einer UTXO-Blockchain verbindet ein Input, der einen früheren Output ausgibt, die beiden Transaktionen. In einer kontobasierten Blockchain ist eine erfolgreiche Transaktion, die Wert an eine Adresse überträgt, oder ein vom Token-Vertrag in einer erfolgreichen Transaktion ausgegebenes Transfer-Ereignis deterministisch. Jeder, der einen Knoten betreibt, erhält dieselbe Antwort.
Eine heuristische Verbindung wendet eine Regel an, die üblicherweise zutrifft, aber bekannte Ausnahmen hat: die Common-Input-Ownership-Heuristik, die Wechselgelderkennung oder die Weiterleitung von einer Einzahlungsadresse an eine Hot Wallet (Lektionen 4.1 und 4.2). Für jede davon sind Fehlerszenarien dokumentiert, etwa CoinJoin-Transaktionen oder Wallets, die Wechselgeld nach dem Zufallsprinzip gestalten.
Eine Schlussfolgerung ist eine aus Indizienmustern abgeleitete Aussage: eine Auszahlung eines ähnlichen Betrags 20 Minuten nach einer Einzahlung, ein übereinstimmendes Tageszeitmuster oder eine gemeinsame Adresse zur Finanzierung von Gas. Schlussfolgerungen sind Ermittlungsansätze. Sie rechtfertigen eine Anforderung von Unterlagen; als eigenständige Feststellungen reichen sie selten aus.
Eine deterministische Verbindung beweist, dass Wert von einer Adresse zu einer anderen bewegt wurde. Sie beweist nicht, dass dieselbe Person beide Endpunkte kontrolliert, und wenn mehrere Inputs in einer Transaktion zusammengeführt werden, sagt sie nicht aus, welcher Teil eines Outputs „das gestohlene Geld“ ist. Das sind Fragen der Kontrolle und der Zuordnung.
Taint und Abbruchregeln
Taint ist der Anteil eines Guthabens oder Transfers, den der Analyst der untersuchten Quelle zuordnet. Taint ist keine Eigenschaft der Coins, sondern das Ergebnis einer Regel, die der Analyst anwendet. Wenn mit Taint behafteter und unbelasteter Wert in einer Adresse oder Transaktion zusammentreffen, entscheidet eine Zuordnungsregel, welcher ausgehende Wert den Taint trägt:
| Regel | Annahme | Werterhaltend? |
|---|---|---|
| FIFO (First in, first out) | Gelder verhalten sich wie eine Warteschlange | Ja |
| LIFO (Last in, first out) | Gelder verhalten sich wie ein Stapel | Ja |
| Haircut (anteilig) | Gelder vermischen sich vollständig | Ja |
| Poison | Jeder Kontakt kontaminiert sämtliche späteren Abflüsse | Nein |
Poison und Haircut wurden in einer frühen Studie zur Risikobewertung von Bitcoin benannt (Möser, Böhme und Breuker, 2014); FIFO übernimmt die buchhalterische Konvention für Bankkonten mit vermischten Geldern. Keine dieser Methoden ist „richtig“; jede ist ein Modell, und sie können für dieselben gestohlenen Gelder unterschiedliche Empfänger ermitteln. Lektion 3.3 führt sie anhand eines Kontobuchs durch und behandelt die Auswahl und Begründung einer Methode. In großem Maßstab werden die Unterschiede drastisch: In „Bitcoin Redux“ (2018) verfolgten Anderson, Shumailov, Ahmed und Rietmann die beim Linode-Diebstahl 2012 gestohlenen 46.653 BTC und stellten fest, dass Haircut etwa 93% der Adressen in ihrem Datensatz mit Taint belegte, FIFO hingegen etwa 1,3%. Poison breitet sich noch schneller aus und eignet sich deshalb zur Kennzeichnung von Kontakten, niemals aber zur Bestimmung von Beträgen. Wenn ein Ergebnis von Bedeutung ist, führen Sie das Tracing mit zwei Methoden durch: Weisen beide auf denselben Dienst hin, steigt die Konfidenz; weichen sie voneinander ab, geben Sie die Spannweite an.
Jedes Tracing benötigt außerdem Abbruchregeln, die im Voraus festgelegt und in den Fallnotizen dokumentiert werden:
- Dienst erreicht: Die Gelder gelangen zu einer Börse, einem Zahlungsabwickler oder einem anderen verwahrenden Dienst, wo das On-Chain-Tracing endet und Unterlagen an seine Stelle treten (Lektion 3.4).
- Verdünnungsschwelle: Der mit Taint behaftete Anteil fällt unter einen festgelegten Wert, beispielsweise 1%.
- Hop-Limit: Eine maximale Entfernung, beispielsweise 3 bis 6 Hops, jenseits derer die Verbindungen zu schwach sind, um darüber zu berichten.
- Wertuntergrenze: Beträge, die zu gering sind, um relevant zu sein, etwa Dust unterhalb eines festgelegten Bruchteils der ursprünglichen Summe.
- Zeitfenster: Transfers, die vor dem Eingang der Gelder stattgefunden haben, können diese nicht enthalten.
Die letzte Regel wird in einer Abfrage leicht vergessen. Eine Adresse, die am 10. März gestohlene Gelder erhielt und am 2. März jemanden bezahlte, hat diese Person nicht mit den gestohlenen Geldern bezahlt.
Bewertung der Verbindungen
Ein Tracing benötigt eine offengelegte Bewertungsskala, damit jede Verbindung einen Grad erhält, den Leser einordnen können. Organisationseinheiten entwickeln eigene Skalen; die folgende Skala dient der Veranschaulichung, ist kein veröffentlichter Standard und wird in diesem Kurs durchgehend verwendet (die Lektionen 4.5 und 5.3 erweitern sie auf Attribution und Blockchain-übergreifende Verbindungen).
| Grad | Grundlage | Beispiel |
|---|---|---|
| A, On-Chain aufgezeichnet | Deterministische Verbindung, die anhand eines Knotens verifiziert wurde | Ein Input gibt Output 0 der vorherigen Transaktion aus |
| B, bestätigt | Eine durch unabhängige Beweismittel bestätigte Heuristik, etwa durch Anbieterunterlagen oder eine zweite, nicht damit zusammenhängende Heuristik | Eine vermutete Einzahlungsadresse, die durch die Unterlagen der Börse bestätigt wird |
| C, einzelne Heuristik | Eine Heuristik mit bekannten Fehlerszenarien | Ein Wechselgeld-Output, der anhand eines übereinstimmenden Skripttyps ausgewählt wurde |
| D, Schlussfolgerung | Ausschließlich Korrelation oder Muster | Ein ähnlicher Betrag wird kurz nach einer Einzahlung ausgezahlt |
Zwei Regeln machen diese Skala nützlich. Erstens ist ein Pfad nur so stark wie seine schwächste Verbindung: Ein Tracing über fünf Hops mit einem Hop des Grades C ist für jede Aussage, die von diesem Hop abhängt, ein Pfad des Grades C. Zweitens bewerten Sie jede Aussage, nicht jede Transaktion: Derselbe Hop kann einen Wertfluss des Grades A und eine Kontrollaussage des Grades C aufweisen. Die Formulierung von Wahrscheinlichkeit und Konfidenz im Bericht wird in Lektion 9.2 behandelt.
Ein durchgerechneter Transaktionspfad
Ein Opfer zahlte ein Lösegeld von 2,50000000 BTC. Der Prüfer verfolgt es vorwärts:
| Hop | Transaktion | Beobachtung | Wertfluss | Kontrollaussage |
|---|---|---|---|---|
| H1 | a71f…09d2 | Die Wallet des Opfers zahlt 2,50000000 BTC an bc1q…ra5m | A | Der Zahlungsnachweis des Opfers bestätigt den Absender (B) |
| H2 | 5d07…e310 | Gibt den Output von 2,5 BTC sowie 0,80000000 BTC von bc1q…x8w2 aus; ein Output von 3,29990000 BTC an bc1q…c0n1; Gebühr 0,00010000 | A | bc1q…x8w2 wird von demselben Akteur kontrolliert: Common-Input-Heuristik (C) |
| H3 | 9c1e…44ab | bc1q…c0n1 zahlt 1,20000000 BTC an bc1q…dx7e und 2,09980000 BTC an bc1q…p3e9; Gebühr 0,00010000 | A | bc1q…dx7e ist eine Einzahlungsadresse der Börse K: gemeinsam mit bekannten Einzahlungen abgeschöpft (C) |
Die Beträge gehen auf: 2,5 + 0,8 = 3,3 BTC Eingang, 3,2999 Ausgang zuzüglich 0,0001 Gebühr; anschließend 1,2 + 2,0998 + 0,0001 = 3,2999. Der Wertfluss von der Lösegeldadresse zu bc1q…dx7e hat bei jedem Hop Grad A und hängt nicht von der Common-Input-Heuristik bei H2 ab: Wert wurde bewegt, unabhängig davon, wem bc1q…x8w2 gehörte. Was die Bewertung verändert, ist die Zuordnung. Die 2,5 BTC wurden mit 0,8 BTC unbekannter Herkunft zusammengeführt. Daher hängt es von der Methode ab, welcher Teil der Einzahlung von 1,2 BTC als Lösegeld gilt. Nach Haircut sind es 1,2 × 2,5 ÷ 3,3 = 0,90909091 BTC; bei jeder werterhaltenden Methode kann der Betrag 1,2 BTC nicht überschreiten. Die Kennzeichnung als Einzahlungsadresse bleibt bei Grad C, bis die Unterlagen der Börse K sie bestätigen; dann steigt sie auf B.
Öffentlich bekannte Fälle zeigen dieselbe Struktur. Im Juni 2021 gaben Ermittler die Beschlagnahme von 63,7 BTC der rund 75 BTC Lösegeld bekannt, die nach dem Angriff auf Colonial Pipeline gezahlt worden waren. Laut der offiziellen Mitteilung verfolgten sie mehrere Transfers im öffentlichen Transaktionsregister bis zu einer Adresse, deren privaten Schlüssel die Ermittler besaßen. Das Tracing stellte fest, wohin der Wert gelangt war; die Beschlagnahme hing von gesonderten Beweismitteln zur Kontrolle über den Schlüssel ab.
Jeden Hop dokumentieren
Jeder Hop wird in einem strukturierten Datensatz erfasst, der bei der Untersuchung des Hops erstellt und nicht erst bei der Berichterstellung rekonstruiert wird. Ein minimaler Datensatz für H3:
{
"case_id": "CF-2026-0142",
"hop_id": "H3",
"chain": "bitcoin-mainnet",
"txid": "9c1e…44ab",
"spends": "5d07…e310:0",
"output_ref": "9c1e…44ab:0",
"block_height": 939011,
"block_hash": "0000…3f9a",
"block_time_utc": "2026-03-02T14:07:51Z",
"from": "bc1q…c0n1",
"to": "bc1q…dx7e",
"amount_sat": 120000000,
"allocation": {"method": "haircut", "traced_sat": 90909091},
"grades": {"flow": "A", "control": "C"},
"basis": "output 0; recipient swept with known K deposits (see ATTR-11)",
"source": "own node, Bitcoin Core 29.0, checked 2026-03-05T09:12Z",
"examiner": "EX-07"
}
Der Datensatz benennt den genauen Output, weil eine Transaktion mehrere Parteien bezahlen kann; er speichert den Betrag als ganzzahlige Satoshis, um Rundungsabweichungen zu vermeiden, und hält neben der Blockhöhe auch den Block-Hash fest, damit eine Reorganisation oder ein Tippfehler erkennbar ist. Er trennt Zuordnung und Bewertungsgrade von beobachteten Tatsachen, nennt die Grundlage jeder nicht deterministischen Aussage und dokumentiert die Datenquelle sowie den Zeitpunkt ihrer Überprüfung in UTC. Bei kontobasierten Blockchains ersetzt ein Log-Index oder eine Trace-Position die Output-Referenz. Das Hashen und die Aufbewahrung dieser Datensätze werden in den Lektionen 8.2 und 8.3 behandelt.
Hops in SQL erweitern
Ein begrenztes Vorwärts-Tracing kann mit einer rekursiven Abfrage über eine Kantenliste beginnen (Lektion 3.1). Die meisten Datenbank-Engines unterstützen rekursive CTEs, aber nicht alle; bei manchen Data-Warehouse-Systemen iterieren Sie stattdessen Hop für Hop aus einem Notebook heraus.
WITH RECURSIVE hops AS (
SELECT dst AS address, 1 AS hop, block_number
FROM edges
WHERE src = '0xa1b2…9f' -- Startpunkt: die Diebstahladresse, kleingeschrieben
UNION ALL
SELECT e.dst, h.hop + 1, e.block_number
FROM hops h
JOIN edges e ON e.src = h.address
AND e.block_number >= h.block_number -- Zeit verläuft vorwärts
WHERE h.hop < 4 -- Hop-Limit
AND NOT EXISTS (SELECT 1 FROM labels AS l -- bei Diensten stoppen
WHERE l.address = h.address
AND l.category IN ('exchange_deposit', 'exchange_hot_wallet',
'payment_processor'))
)
SELECT address, MIN(hop) AS first_hop, COUNT(*) AS paths
FROM hops
GROUP BY address;
Der rekursive Teil folgt ausgehenden Kanten erst ab dem Block, in dem die Gelder eingegangen sind, stoppt nach vier Hops und setzt die Erweiterung nicht über Adressen fort, die in der Tabelle labels aus Lektion 2.7 als verwahrende Dienste gekennzeichnet sind: drei Abbruchregeln, die in die Abfrage eingebaut sind. Sie findet erreichbare Adressen, ordnet jedoch keine Beträge zu; dafür werden die zeitlich geordneten Zu- und Abflüsse jeder Adresse benötigt. Rund um stark genutzte Adressen steigt die Anzahl der Pfade explosionsartig an, ein weiterer Grund, bei Diensten zu stoppen.
Unabhängige erneute Durchführung
Blockchain-Beweismittel haben einen ungewöhnlichen Vorteil: Die zugrunde liegenden Daten sind öffentlich und für alle identisch, die die Blockchain validieren. Ein Tracing kann daher von einer anderen Person anhand der Rohdaten erneut durchgeführt werden und sollte es auch.
ISO/IEC 27037 unterscheidet Wiederholbarkeit, also das Erzielen derselben Ergebnisse mit demselben Verfahren in derselben Umgebung, von Reproduzierbarkeit, also dem Erzielen derselben Ergebnisse mit derselben Methode in einer anderen Umgebung, beispielsweise durch einen anderen Prüfer mit einem anderen Knoten oder Werkzeug. Die erneute Durchführung prüft die Reproduzierbarkeit auf zwei unterschiedlich starken Stufen:
- Verifizierung: Ein zweiter Prüfer gleicht jeden Hop-Datensatz mit seinem eigenen Knoten ab: Die txid existiert, Output und Betrag stimmen überein, der Block-Hash stimmt überein und der Block ist final.
- Unabhängige erneute Durchführung: Der zweite Prüfer beginnt ausschließlich mit den Startpunkten, dem Untersuchungsumfang, der Methode und den Abbruchregeln, ohne den Pfad des ersten Prüfers zu sehen, und führt das Tracing erneut durch. Eine Übereinstimmung bedeutet dann mehr als eine bloße Rechenprüfung, und die Arbeit ohne Kenntnis des ersten Ergebnisses verringert den Bestätigungsfehler.
Wenn Ergebnisse voneinander abweichen, ermitteln Sie den ersten Hop, an dem sie auseinanderlaufen, und dokumentieren Sie die Ursache: eine andere Einstufung als Wechselgeld, eine andere Zuordnungsmethode, ein späterer Stichtagsblock oder ein übersehener interner Transfer. Klären Sie die Abweichung anhand der Rohdaten und bewahren Sie die Meinungsverschiedenheit und ihre Klärung in der Fallakte auf. Auf ein Tracing, das ein kompetenter zweiter Prüfer nicht reproduzieren kann, darf noch nicht vertraut werden. Die Werkzeugvalidierung und die erneute Durchführung von Tracings außerhalb des Werkzeugs werden in Lektion 3.6 behandelt.
Prüfungsschwerpunkt: Vorwärts- gegenüber Rückwärts-Tracing, Hops und direkte gegenüber indirekter Exposition; dass ein Tracing eine Aussage über einen Wertfluss trifft, nicht über Identität, sowie die Trennung von Wertfluss, Zuordnung und Kontrolle; deterministische Verbindungen, heuristische Verbindungen und Schlussfolgerungen sowie das, was eine deterministische Verbindung nicht beweist; Taint als Ergebnis einer offengelegten Regel, welche Regeln werterhaltend sind und wie unterschiedlich sich Haircut und FIFO in großem Maßstab ausbreiten; Abbruchregeln, insbesondere dass Abflüsse vor einem Zufluss diesen nicht enthalten können; eine offengelegte Bewertungsskala und die Regel der schwächsten Verbindung; das Abgleichen von Beträgen und Gebühren bei jedem Hop; die Felder eines Hop-Datensatzes; Wiederholbarkeit gegenüber Reproduzierbarkeit (ISO/IEC 27037) und Verifizierung gegenüber unabhängiger erneuter Durchführung.