The first half of 2018 has witnessed cryptocurrency thefts that are worth around $761 million. Moreover, the past few years have been associated with a surge in the utilization of cryptocurrencies in various money laundering schemes. This surge in cybercrimes has urged law enforcement agencies, as well as researchers, to develop means for tracing stolen bitcoins and other cryptocurrencies.
A recently published paper introduces a graphical model that can aid in tracking stolen coins via means of a myriad of visualization techniques. Let’s take a look at this novel model, via this article.
A graphical bitcoin visualization model based on FIFO tracking:
The proposed model, known as Taintchain, is based on FIFO tracking, which refers to first-in-first-out. Authors of the paper conclude that taint tracking in cryptocurrency can be ideally handled on a FIFO basis. This can greatly limit the diffusion of bitcoins as the taint is conserved, as shown in figure (1). Each bitcoin can be divided into 100 million parts, known as satoshis, and each of them has a unique public history recorded onto the public ledger. The data needed to enable tracing of every satoshi is implemented into the system; all that is required is picking up the right algorithm in order to parse it, and FIFO is by far the most ideal algorithm for this task.
Figure (1): FIFO tainting
The FIFO algorithm is well known not only in computer science, but in law as well. Tracking stolen and disputed cryptocurrency via FIFO is deterministically reversible and lossless. Not only can it be used to track the future of a stolen bitcoin, but also to trace a present transaction backwards in time to the original reward blocks which made up its satoshi components. The tricky part of this process is tracing a transaction’s fees, yet whenever this is accomplished, the provenance of any satoshi can be tracked.
The taintchain starts off from a group of reported bitcoin thefts or other laundering crimes and propagates forwards or backwards through the whole blockchain. If operating in the forward direction, the taintchain starts off from all outputs of the tainted transactions and then marks all related satoshis as tainted until the end of the blockchain is reached. If operating in the backward direction, each related transaction output is traced backwards and whenever a taint is encountered, the affected satoshis will be marked as tainted.
The preliminary model:
The preliminary model includes a simple graphical visualization of taintchain’s data. Each transaction is represented in the form of a vertex, while each hop is represented as an edge. A hop represents a transaction output which has formed an input of another transaction. Thereafter, the graph was represented on-screen. The model preserved the chronological order, and columns of transactions were represented by blocks. Each bitcoin transaction is represented by a colored rectangle, where each taint type is represented by a different color, and the rectangle size reflects the number of tainted satoshis. The model ignored clean satoshis, because data was sparse and required excessive scrolling. The model was displayed in the form of a static SVG graphic, and transaction hashes could be revealed by clicking individual rectangles. Figure (2) shows an example of the preliminary visualization model.
Figure (2): An image from taintchain’s preliminary visualization model
Interestingly, acceptable results could be obtained via this rudimentary model. A number of interesting patterns could be identified via this visualization model, which could not have been visualized otherwise. For instance, figure (3) shows a user collecting stolen bitcoins, which they had originally distributed among many addresses, via allocating them to a single address. This is referred to as a “collection pattern.” This pattern has been encountered repeatedly, and in some cases, the collection addresses could be linked to illegal gambling casinos.
Figure (3): A collection pattern
Figure (4) illustrates the opposite of a collection pattern, which is known as a “splitting pattern.” This pattern occurs during the time of commitment of a crime, as the criminals attempt to cover their tracks via submitting the stolen bitcoins into systems that split up their loot into tens or even hundreds of small transactions.
Figure (4): A splitting pattern
The secondary model (interactive visualization):
The second prototype of this model uses an interactive graph so that the user can select which information is necessary to them. Also, the edges were made more meaningful. Instead of just illustrating the connections established between nodes, the developers added the percentage of satoshis sent via each hop into the edges. This model also abandoned showing blocks as columns of transactions. Alternatively, the model focused on flows of transactions and added the block information in the form of a hint box that displays with mouse hover. As such, the vertex depth does not necessarily match its chronological order. Figure (5) shows screenshots of the secondary model.
Figure (5): Screenshots of the secondary taintchain model
One of the main problems that was immediately solved by moving to the interactive graph visualization model was the occurrence of taint overlap. The secondary model boasts a drop-down menu that enables the user to select the type of taint they are interested in, and upon selection, the graph’s edges are adjusted accordingly. This can be shown in action in figure (5).
Turning the graph into an interactive one comes at a cost, though, since most of the taintgraph had to be stored in RAM, rather than on disk, to maximize responsiveness. Moreover, because the graph expands upon clicking on it, random exploration can result in a number of unneeded paths being followed.
The secondary model led to the discovery of a number of interesting patterns. As shown in figure (6), several occurrences of “peeling chains” patterns were identified. These patterns are usually associated with gambling casinos or exchanges (notorious ones, of course). Their administrators would pool their coins into a single wallet, and then they would send funds to their clients in a successive manner, each round would involve sending most of the funds to themselves using a different receiving address. In such scenario, it was identified that the criminal platform attempted to conceal their identity via shuffling their keys repeatedly for a minimum of four times.
Figure (6): A peeling chain pattern identified via following the larger branch connected to each vertex
Taintchain is a novel system for visualizing taint diffusion of stolen bitcoins. Developers of the system made it publically available for anyone to benefit from. The system could be even more efficient if it were to be programmed to automatically identify suspicious transaction patterns.