MMath thesis defence

Inside the Crypto Laundering Machine

A taxonomic study of crypto money laundering schemes and countermeasures

Hesam Sarkhosh
Master of Mathematics in Computer Science, University of Waterloo
Supervisor: Prof. Diogo Barradas  ·  Committee: Prof. Bernard Wong, Prof. Mohammad Hajiabadi
11 September 2026

University of Waterloo National Cybersecurity Consortium

The paradox

Mallory has just stolen 1,000 ETH.

Every move makes from now on is public. Forever. To anyone with a browser.

will still get away with it.

This thesis is a map of how.

chain-explorer.io / address / 0x9f3c…8a2 FROMTOAMOUNTAGE 0x4b7e…c410x9f3c…8a21,000 ETHSTOLEN12s 0x9f3c…8a20x1d55…9c0400 ETH9s 0x9f3c…8a20x77ab…31f350 ETH9s 0x9f3c…8a20xc0de…4e1250 ETH8s 0x1d55…9c00x88fa…b02180 ETH6s 0x77ab…31f0x3e91…7dd150 ETH5s a map of how public · forever · anyone with a browser ? visible, and still gone

What laundering is

Three stages, in any economy

Placement get the money in CLASSIC WEB3 cash into abusiness account fiat into cryptoat a lax exchange Layering bury the trail spin cycle. shell companies,wires across borders obfuscation strategies,carried out by many tools Integration spend it as if it were yours real estate, art,luxury goods off-ramp into assetswith a clean story

Why Web3

Why it is a better washing machine

Pseudonymous

Addresses, not names. The ledger shows who paid whom, never who they are.

Permissionless

No account opening, no questions asked. Anyone can use any protocol.

Borderless

One network, two hundred jurisdictions, and rules that do not match.

No custodian

No one holds the funds, so there is no one to subpoena, and nothing to freeze.

Every property that makes DeFi open also makes it easy to abuse.

each property, shown here
HELLO my name is 0x9f3c…8a2 ? the ledger names an address, never a person BANK ID required any protocol no form, no ID no account to open, no one to ask strict rules barely any border one network, two hundred rulebooks CUSTODIAN FREEZE nobody to serve. no one holds the funds, so there is nothing to freeze
No name, no bank, no border, no boss. Where do I sign?

The gap

Prior work covers pieces, not the machine

Our contribution: a taxonomy that separates what wants from how gets it.

Method

A systematic review, in five lines

IdentifyGoogle Scholar keyword searches, university library, and grey literature from regulators and industry
50+academic papers and preprints from keyword searches
200+records after snowballing, screened by title, abstract, then full text
2013 to
mid-2025
from the first mixer studies to the current state of DeFi
Taxonomybuilt iteratively, PRISMA-informed, checked against prior surveys

Primer, one of two

Four rungs of anonymity

4. Confidential transactions * the amount is gone too Monero RingCT 3. Full anonymity the path itself is gone Zcash shielded pool 2. Set anonymity hide in a crowd Monero ring signatures 1. Pseudonymity addresses, not names Bitcoin, Ethereum TRANSACTION 0x7c41…9ab public ledger NAME SENDER PATH AMOUNT not recordednever on chain 0x9f3c…8a2 one of these five hidden four hops, all public hidden 12.4 ETH hidden PROOF OK WHAT THE INVESTIGATOR CAN STILL SEE who paid whom, and how much. just not the name. the sender is one of five. everything else, still there. sender and route gone. only a valid proof is left. and the amount is gone too.

* Confidential transactions hide the amount, not the trail. Some sources treat this as a property of its own, others as a layer that sits on top of full anonymity.

Primer, two of two

What the investigator can see

chain A chain B exchange bridge every hop and amount 0x9f3c→0x1d55 400 ETH 0x1d55→0x77ab 180 ETH 0x77ab→0xc0de 150 ETH no names anywhere the exchange knows IP 24.114.83.21 a warrant away lock 400 ETH mint 400 WETH ?

Lens one

On-chain

Everything the ledger records, public and permanent.

  • addresses and amounts
  • timestamps and fees
  • contract events and token moves

Lens two

Off-chain

What custodians and platforms know, reachable by legal process.

  • identity records from exchanges
  • IP addresses and device logs
  • chats, forums, dark web listings
the gap

Lens three

Cross-chain

The traces left when value crosses from one chain to another.

  • bridge lock, mint, and burn logs
  • swap contracts and timelocks
  • often partial, sometimes missing
Three lenses. Nobody indexes them together.

The map

The taxonomy, in two halves

Crypto money laundering schemes

The map

The taxonomy, in two halves

Crypto money laundering schemes
Strategieswhat strategy has
Intermediary mechanismsWhich tools help achieve it
Privacy-enhancing technologiesbuilt to protect privacy
Exploited infrastructurebuilt for something else

Strategies

Mallory's playbook, six moves

1Transaction flow obfuscationMany hops, one trail buried.L
2Commingling's coins, everyone's coins.L
3Disconnected fund flowNo link left on the chain.P L I
4Chain-hoppingNew chain, fresh start.L
5Exploit subjective valuationThe price is whatever we say.L
6Exploit regulatory gapsWhere no sheriff rides.P L I
each move, shown here
multi-hop distributing sweeping peeling: a small cut to a side wallet, the rest moves on Nothing is hidden. It is just expensive to follow. Whose coins are these now? Anyone's. source clean wallet the link between source and destination There is nothing here to follow. Ethereum Tron Two ledgers, and my tools stop at the first. NFT $ ? ? $50,050 Who am I to say what art is worth? strictsomewhat strictlaxno rules Every stop has a different rulebook.
Six moves. I never use just one.

Strategy three, up close

Disjoint reciprocal transfers

Placement

"Got any ETH for sale? I'm paying well. All cash."
walletwallet 1cash 2ETH
"A brand new wallet with one incoming transfer. Nothing suspicious here."

Layering

"I'll buy your BTC with Tether. No middlemen, no fees. Send me your ETH address."
walletwallet 1 walletwallet 2
"No link between these wallets. Two chains, and I have to cross-reference everything by hand."

Integration

"Beautiful watch, Alice. If you're selling, I'm paying well, in ETH."
walletwallet 1ETH 2the watch
"The wallet looked clean. And the funds went to Alice, who swears she never knew the guy."

A solid arrow is a transfer written to a ledger. A dashed arrow never touches one.

Reciprocal, because each payment pays for the other. Disjoint, because no ledger shows the pair.

Privacy-enhancing technologies

Stop saying "mixer"

Zcash's shielded pool and Tornado Cash are the same construction. One is called a privacy coin, the other a mixer.

"Mixer"one word, three different things

  • CUSTan operator that holds and shuffles deposits
  • COORDa coordinator that only arranges a joint CoinJoin
  • APPa smart contract with a shielded pool

"Privacy coin"one word, four places to live

  • L1a dedicated chain, such as Monero or Zcash
  • EXTan extension block on a transparent chain
  • L2a privacy rollup that settles to a base chain
  • APPa confidential token contract
Axis one: blueprintsthe cryptographic parts a tool is built from
+
Axis two: deployment formthe one place every tool runs

Axis one

Thirteen blueprints, coloured by the strategy they serve

Serves transaction flow obfuscation

TUMBLE

Random delays, fees, and split outputs. Adds noise so timing and amounts stop matching.

Serves commingling

POOLCJ

A shared reserve, or many payments merged into one transaction. Ownership becomes a matter of odds.

Serves disconnected fund flow

RINGSTEALTHZKPSHUFFLEMWBLINDSWAP

The linkage breakers. Hide the sender, hide the receiver, or remove the path between them altogether.

Serves no laundering strategy

CTFHETEE

Confidentiality only. They hide an amount or a contract's state, but who paid whom stays fully visible.

Lego pieces, not a menu. A tool that combines several blueprints inherits the strategies of all of them.

Axis two

Six deployment forms, every tool in exactly one

CUSTCustodial servicesan operator holds the coins and pays back different ones
Bitcoin Fog POOLTUMBLEHelix POOLTUMBLEChipMixer POOLBlindcoin POOLBLIND
L1Layer-1privacy built into the chain itself
Monero RINGSTEALTHCTZcash POOLZKPGrin MWCTCJNamada POOLZKPCTSTEALTHIncognito RINGSTEALTHCTZKPSecret TEE
EXTChain extensionsan opt-in private ledger beside a transparent one
Litecoin MWEB MWCTCJZerocoin POOLZKP
L2Layer-2 rollupsprivate execution off-chain, proofs on-chain
Aztec POOLZKPZkopru POOLZKPPhenix FHE
APPApplication layeran ordinary smart contract on a transparent chain
Tornado Cash POOLZKPMöbius RINGSTEALTHMixEth SHUFFLEPOOLUmbra STEALTHZama FHE
COORDOff-chain coordinatorusers co-sign one joint transaction, nobody holds funds
Wasabi CJZKPCoinShuffle CJSHUFFLETumbleBit BLINDSWAPObscuro CJTEECoinSwap SWAPStatechains SWAPBLIND
Custodial? No thanks. I have read the court records.

One consequence

Custody is what gets seized

2021Helixoperator pleads guilty 2022Blender.iofirst mixer ever sanctioned 2023ChipMixerseized after $3 billion 2022Tornado Cashsanctioned by OFAC 2024Tornado Cashsanctions overturned on appeal Code cannot be seized.
I cannot subpoena a smart contract.

Exploited infrastructure

Built for something else. Works for laundering.

Exchanges

12346
P L I

Cross-chain bridges

4
L

DeFi mechanisms

1234
P L I

NFTs

135
P L I

Crypto ATMs

6
P I

Card-based instruments

6
P L I

Online gambling

126
P L I

ICOs

12346
P L I

Consensus protocols

23
P L

Payment channel networks

134
L
1flow obfuscation2commingling3disconnected flow4chain-hopping5subjective valuation6regulatory gapsP L Istages served
None of these were built for . All of them work for .

Spotlight one

The staking loop

Stake ETHget weETH Post collateralin a lending market $Borrow USDCclean on the surface Buy ETHwith the loan illicitorigin what now sits in between swaps loans new tokens each lap buries the origin under one more layer of ordinary protocol activity
Wrap, pledge, borrow, stake. Repeat until clean.

Spotlight two

Bridges make chain-hopping effortless

Ethereum lock bridge contract Tron mint WETH bridge contract fresh wallet Two ledgers, one bridge log,if I can find it. lock event, Ethereum1,000 ETH → bridge contracttx 0x9f3a… · block 21,004,118 mint event, Tron1,000 WETH → fresh wallettx a41c… · block 66,812,904 ?no index joins the two logs

Spotlight three

Where the chain meets the bank

placement: cash in, coins out BANK BTC ATMinsert cash bank crypto ATM wallet on-chain, pseudonymous integration: coins in, purchases out TAP SHOP crypto card merchant bank rails: fiat in and out through the bank ACH, SEPA, Pix, between the bank and the wallet app IBAN Darth, a bank account $
Tap to pay. Nobody asks where it came from.

Spotlight four

NFTs: the auction room

NFT $50 $500 $5,000 $50,000 $50,050 current bid SOLD Five hundred, do I hear five hundred? Five thousand from the gentleman in red. Fifty thousand! Going once, going twice... 712 seller buyer, colluding everyone else $50,050 in sale proceeds booked as a capital gain
Art is worth whatever the last bid says.

Countermeasures

Two ways to fight back

Detection · after the fact rule-based data-driven Chainalysis Elliptic TRM Labs commercial platforms Prevention · before it happens ID? provider rules blocklists prosecution Cash for coinsfrom a stranger?Think twice. awareness
My turn.

Open challenges

Four problems, one direction each

? Data accessibility few labels, walled-off data benchmark datasets labelledby regulators and providers Pseudonymity, no custodian nothing to freeze, code you cannot sanction compliance-aware PETsand decentralized identity Regulatory arbitrage one network, many rulebooks global provider standardsand compliance oracles Legitimate privacy the same tools protect dissidents privacy-preserving complianceprove compliance, not identity the defences have four holes; one plank each

What the map shows

Three things you only see with all of it in view

the ledger and its tierscustodial mixers, seizedthe staking loopthe bridgecards and ATMsthe auction room Laundering is a chain, never one tool.strategies and mechanisms arecomposed across all three stages The centre of gravity has moved.from custodial mixers to Web3-nativetools: DeFi, bridges, overlooked tokens The ledger cuts both ways.transparency makes forensics possible,privacy tooling defeats it.So: accountable privacy, not bans.

Contributions

What this thesis gives you

one map, three layers PLACEMENT LAYERING INTEGRATION flow obfuscation commingling disconnected flow chain-hopping subjective valuation regulatory gaps 6 deployment forms 13 blueprints the privacy-tool frame detectionpreventionopen problem 1 A taxonomy of the schemes Six strategies and their mechanisms, mapped to stages and to the traces they leave. Including undocumented ones. 2 A two-axis privacy-tool frame Thirteen blueprints by six deployment forms, replacing the blurred labels of mixer and privacy coin. 3 A map of the countermeasures Detection and prevention across academia, regulation and industry, set against prior surveys, plus four open challenges. For investigators, a route from a scheme to its likely traces. For tool builders, where coverage is thin. For regulators, where the gaps actually are.
University of Waterloo

Thank you

Questions?

Hesam Sarkhosh  ·  Inside the Crypto Laundering Machine  ·  University of Waterloo, 2026

National Cybersecurity Consortium

Backup

The full taxonomy

Taxonomy of crypto money laundering schemes

Backup

Transaction flow obfuscation patterns

Transaction flow obfuscation patterns

Backup

Coverage across prior surveys

Backup

Blueprint definitions

TUMBLETumbling. Randomised delays, fees, and output splitting that break timing and amount correlations.

POOLPooling. Funds commingled in a shared reserve or persistent pool; a shielded pool when paired with ZKP or TEE.

CJCoinJoin. Many users' payments merged into one transaction so inputs and outputs cannot be paired.

RINGRing signatures. The true input hidden among decoy signers, so any member is an equally plausible source.

STEALTHStealth addresses. A fresh one-time address per payment, so the receiver's published address never appears on-chain.

ZKPZero-knowledge proofs. Prove ownership of an unspent note without revealing which one.

SHUFFLEShuffle / DC-net. A participant-run permutation, built on multi-party computation, that breaks linkage.

MWMimbleWimble. No addresses; a block's transactions aggregated with cut-through so inputs and outputs cannot be paired.

BLINDBlind signatures. Chaumian tokens that let a coordinator authorise a withdrawal it cannot link to a deposit.

SWAPAtomic swaps. Equal-value coins exchanged through hash time-locked contracts, so no on-chain link is written.

CTConfidential transactions. Commitments and range proofs hide the amount, but not the parties.

FHEFully homomorphic encryption. Computation on encrypted balances and state.

TEETrusted execution environments. Contract state kept inside hardware enclaves that node operators cannot read.

Backup

Review method

Sources

  • Google Scholar keyword searches: crypto money laundering, AML in Web3, DeFi money laundering, mixing services, and related terms
  • Librarian-guided search of the finance literature through the university library
  • Grey literature from regulators (FATF, FinCEN, OFAC, Europol) and industry (Chainalysis, TRM Labs, Elliptic)
  • Snowballing from references, expanding the pool from 50+ papers to 200+ records

Criteria

  • Included: topically relevant to Web3-enabled laundering or AML; analytical or technical substance; written in English; 2013 to mid-2025
  • Excluded: off-topic works such as price prediction; insufficient technical relevance; superseded or duplicate works
  • Screened by title, then abstract and introduction, then full technical sections
  • Taxonomy built iteratively and checked against prior surveys