Learning to Trace Crypto Transactions on Blockchain
Learning to Trace Cryptocurrency Transactions on the Blockchain: What I'm Discovering
As a forensic accountant working mostly in criminal defence, I’m always looking to develop new skills that keep me informed and useful in a changing financial landscape. Recently, I’ve started exploring the world of crypto, and more specifically, how to read the blockchain with a view to tracing transactions.
This isn’t a guide or how-to. It’s a record of what I’m learning, what makes sense, and what still gives me a headache.
Inputs, Outputs and the UTXO Model
When you first start looking into blockchain transactions, especially with Bitcoin, the terminology can feel like another language. But at its core, every transaction has two key elements: inputs and outputs.
Inputs are where the crypto is coming from. Technically, they are previous outputs from earlier transactions that haven't yet been spent.
Outputs are where the crypto is going. Each output sends value to a recipient address and becomes an input for a future transaction.
This structure forms what is known as the Unspent Transaction Output model, or UTXO. It is the foundation of how Bitcoin operates. You can only spend each output once, and it must be used in full. If you do not need all of it, the remainder comes back to you in a new output, a bit like getting change after paying with a banknote.
Some have tried to compare crypto wallets and blockchain transactions to bank accounts and bank statements. Whoever came up with that analogy needs stringing up. It is much more complex. There is no central record of balances, just a long chain of transactions and outputs that must be pieced together to see who had what and when.
How Tracing Actually Works
Here is how I understand the process of tracing so far:
Start with a wallet or transaction of interest
Use a blockchain explorer to view the transaction history, looking at all the inputs and outputs
Follow where the outputs go and see how they are used in future transactions
Group wallet addresses together based on shared use, such as multiple inputs used in a single transaction
Cross-check any information with known addresses, like exchanges or previously identified services
It is not a straight line. It is more like trying to follow a trail through a very dense forest, with the occasional helpful signpost.
What Makes It Difficult
There are several hurdles I have already come across:
Pseudonymity. Wallet addresses are just strings of characters. They are not tied to real names or identities.
Obfuscation tools. Services like mixers and CoinJoin bundle transactions together to make tracing harder.
Volume. Some transactions involve dozens of inputs and outputs, creating messy webs that are hard to untangle.
Chain-hopping. Crypto can be moved between coins or blockchains, sometimes intentionally to frustrate analysis.
Misleading trails. Wallet addresses belonging to exchanges or shared services can make unrelated users appear linked.
This has shown me that although the blockchain is public, the visibility does not always make things easier. Sometimes it just gives you a bigger haystack to dig through.
Why I’m Learning This
The use of crypto in financial crime is increasing. I see it in more cases, whether it is related to fraud, unexplained wealth, or unexplored leads in confiscation proceedings. Understanding how these systems work from the ground up, rather than relying on vague summaries, is becoming more important in the work I do.
This post is not intended to make me sound like an expert. Far from it. But I hope it helps others who are trying to get their heads around blockchain analysis. If you are looking into the same and want to compare notes, feel free to reach out.