# Analyzing the Error Rates of Bitcoin Clustering Heuristics

Yanan Gong, Kam-Pui Chow, Hing-Fung Ting, Siu-Ming Yiu

► To cite this version:

Yanan Gong, Kam-Pui Chow, Hing-Fung Ting, Siu-Ming Yiu. Analyzing the Error Rates of Bitcoin Clustering Heuristics. 18th IFIP International Conference on Digital Forensics (DigitalForensics), Jan 2022, Virtual, United States. pp.187-205, 10.1007/978-3-031-10078-9_11. hal-05315736

HAL Id: hal-05315736

https://inria.hal.science/hal-05315736v1

Submitted on 15 Oct 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_2.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
Chapter 11

ANALYZING THE ERROR RATES OF
BITCOIN CLUSTERING HEURISTICS

Yanan Gong, Kam-Pui Chow, Hing-Fung Ting and Siu-Ming Yiu

**Abstract** Bitcoin is a decentralized peer-to-peer cryptocurrency. Bitcoin's strong cryptography ensures anonymity that makes it possible to profit from crimes such as ransomware attacks and money laundering. Unfortunately, developments in blockchain technology make it almost impossible to identify the owners of Bitcoin addresses. Address clustering seeks to target the pseudo-anonymity by grouping Bitcoin addresses to eventually reveal real-world identities. However, none of the heuristic-based address clustering algorithms have been successfully admitted in court proceedings because they are heuristic in nature. According to the Daubert standard, for an algorithm to be admissible, it should have a known error rate. An error rate helps determine the extent to which a court can rely on the evidence, but no address clustering algorithm is able to report an error rate.

This chapter describes a simulation model for validating heuristic-based address clustering algorithms and obtaining the corresponding error rates. The evaluation results demonstrate that the model can simulate real-world transactions. Two heuristics, multi-input and one-time change, are applied. The multi-input and one-time change heuristics yield average error rates of 63.46% and 92.66%, respectively. The application of both heuristics yields the lowest average error rate of 57.47%.

**Keywords:** Bitcoin, simulation, heuristic-based address clustering, error rates

# 1. Introduction

Bitcoin, currently priced in excess of $39,000 per unit [5], is a decentralized peer-to-peer cryptocurrency that has received considerable attention. Bitcoin is based on strong cryptography and has many advantages, including permissionless, confidential and decentralized transactions [25]. The anonymous nature of Bitcoin protects the privacy of
users and enables pseudo-anonymous financial transactions. Bitcoin wal-
lets enable the cryptocurrency to be traded with new and unused Bitcoin
addresses for every new transaction, which make it almost impossible to
identify the actual owners of Bitcoin addresses. Bitcoin's secure, unre-
strained payment method coupled with its anonymity hinders law en-
forcement investigations, making it possible to profit from crimes such
as ransomware attacks and money laundering. According to the 2021
Crypto Crime Report from the blockchain data firm Chainalysis [7], in
2020, ransomware victims paid attackers more than $406 million worth
of cryptocurrency.

De-anonymizing real-world identities in the Bitcoin ecosystem is an active area of research. Much effort has focused on address clustering [17]. The goal of address clustering is to break pseudo-anonymity by attempting to find correlations in clusters, Bitcoin addresses and IP addresses, eventually revealing the real-world identities of users.

Heuristic-based address clustering exploits the structural details of Bitcoin transactions [31]. Some address clustering algorithms group “unrelated” Bitcoin addresses and link them to criminal suspects. However, the limitation of heuristic-based clustering is that it is very difficult to evaluate the quality of the clustering results. In particular, heuristic approaches lack large-scale ground-truth labels that could be used to indicate which addresses belong to specific users [31]. Since the relationships derived between addresses may not be accurate, the collected evidence has not been admitted in court proceedings.

The Daubert standard is used by trial judges to assess the scientific testimony of expert witnesses [16, 18, 19, 27]. The standard specifies five criteria for determining admissibility: (i) whether the theory or technique can be and has been tested, (ii) whether it has been subjected to peer review and publication, (iii) its known or potential error rate, (iv) existence and maintenance of standards controlling its operation and (v) whether it has attracted widespread acceptance within a relevant scientific community. Unfortunately, heuristic-based address clustering does not meet the third Daubert criterion. This is because the nature of heuristics makes it very difficult to derive accurate error rates.

This chapter describes a simulation model for validating heuristic-
based address clustering algorithms and obtaining their error rates. The
model simulates real-world Bitcoin transactions and collects the required
statistics at the same time. The distribution patterns of simulated trans-
actions are similar to the distribution patterns of transactions in the real
Bitcoin network. The simulation model enables the actual owners of gen-
erated Bitcoin addresses to be determined, enabling the error rates of
heuristic-based address clustering algorithms to be measured.
## 2. Related Work

It is impractical to conduct experiments on the real Bitcoin network due to factors such as anonymity, time and cost. Therefore, a simulator that closely models the real Bitcoin network is required to better understand and evaluate network behavior. Existing simulators are broadly classified into two types, event-based simulators and virtualization-based simulators [1].

In an event-based simulator, state variables change in discrete time [3]. The simulator abstracts the node logic as a sequence of discrete events to simulate the Bitcoin network and the simulation time can jump to the start time of the next event. The Shadow-Bitcoin event-based simulator is scalable and supports multi-threaded applications [21]. Stoykov et al. [26] have developed the VIBES simulator that handles large-scale simulations with thousands of nodes, enabling users to explore node interactions and observe important features of the network in an intuitive manner. Faria and Correia [13] have implemented the BlockSim framework that provides a collection of base simulation models applicable to blockchains; the framework can be extended by users to evaluate their design and deployment decisions. SIMBA is an improved version of BlockSim that adds Merkle tree verification to each block to enhance simulation fidelity and support transaction authentication [14].

Virtualization-based simulators employ lightweight virtualization techniques. Chen et al. [8] have modeled a large-scale peer-to-peer network by simulating logical nodes that run a custom Bitcoin application. The framework, which deploys containers and a Docker platform as real Bitcoin miners, has been shown to achieve a good balance between simulation fidelity and cost. Alsahan et al. [1] have created a new simulation framework that integrates the Linux kernel traffic control (tc) tool to enable fast simulations of large-scale networks and specify different network topologies and Bitcoin mining difficulty levels.

Address clustering is another research topic that focuses on the important process of de-anonymizing Bitcoin users. The addresses that potentially belong to a specific user are associated by address clustering. Heuristic-based address clustering reasons about the relationships between Bitcoin addresses based on the structural details of transactions [31]. It is categorized as a heuristic technique because it takes advantage of the way in which typical wallet software creates transactions [23]. Meiklejohn et al. [20] have defined the multi-input heuristic in detail. In multi-input transactions, all the input addresses of a transaction are likely to be controlled by a single user because the transaction
has to be signed using the corresponding private keys for all the inputs. This heuristic is also referred to as the common spending heuristic [12].

Meiklejohn et al. [20] proposed the one-time change address heuristic – if one Bitcoin transaction has a change, the address used to receive the change (change address) and all the input addresses may be controlled by the same user. Zhang et al. [31] specified the address-reuse-based change address detection heuristic [31], which is based on the change address heuristic. The heuristic modifies one condition to achieve more accurate identification because the change address heuristic depends on address reuse to identify change addresses. Nick [23] specified the consumer heuristic that considers redeeming transactions in consumer wallets and the optimal change heuristic based on Bitcoin client behavior.

Due to the diversity of simulated networks, including their scale, security, speed and cost, most simulations focus more on the implementation of network-level functionality (e.g., network protocols) or propagation performance (e.g., block/transaction propagation). Additionally, when evaluating the performance of a simulated model, the measurements usually concentrate on network delays and propagation times. In other words, most simulations do not pay enough attention to the structural details of simulated Bitcoin transactions. In contrast, this research seeks to validate heuristic-based address clustering algorithms and measure their error rates. Since heuristic methods exploit structural details of Bitcoin transactions such as the numbers of input/output addresses and address reuse, a simulation model is developed that captures real-world Bitcoin transactions and collects required data such as user wallet information and the structural details of transactions.

## 3. Real-World Bitcoin Transaction Investigation

The distribution of transactions in the real Bitcoin network needs to be investigated in order to create a high-fidelity simulation. As of June 16, 2021 (05:32:18 UTC), there were a total of 687,775 (block height of 0-687774) blocks in the Bitcoin blockchain. Parsing the chain revealed that 649,569,196 transactions were contained in the blocks. This investigation covers the distributions of four types of blockchain transactions, the distributions of different numbers of inputs and outputs in blockchain transactions and the address reuse rates. Additionally, the number of transactions generated per block in the real Bitcoin blockchain is also examined.
<figure><img src="image_3.png" /><figcaption>Figure 1. Transaction type distribution (real Bitcoin blockchain).</figcaption></figure>

## 3.1 Transaction Distribution

Heuristic-based clustering algorithms have specific requirements regarding the numbers of input/output addresses in transactions. For example, the multi-input heuristic algorithm that clusters addresses in a multi-input transaction requires the number of input addresses to be greater than one. Therefore, the transactions are not classified into standard and non-standard transactions according to Bitcoin scripts [4].

Depending on the numbers of inputs and outputs, there are four types of transactions, transfer, multiple payment, consolidation and complex transactions [10]. A transfer, or full payment, means that the entire amount from one address is transferred to another address; a transfer transaction only has one input address and one output address. A batch payment, which often has lower transaction fees, is a multiple payment transaction with a single input and multiple outputs. A consolidation transaction receives multiple inputs to one address in a single transaction; thus, it has multiple inputs and one output. A complex transaction has multiple inputs and outputs.

First, the numbers of the four types of transactions and their proportions in the real Bitcoin blockchain were examined. Figure 1 shows the distributions of the four types of transactions. Multiple payments have the largest number of transactions, accounting for 63.64% of the
<figure><img src="image_4.png" /><figcaption>*Figure 2.* Distribution of the numbers of inputs (real Bitcoin blockchain).</figcaption></figure>

total transactions. Complex transactions constitute the second largest type of transactions, 22.50% of the transactions. Transfer transactions constitute the third largest type and consolidation transactions have the least number of transactions, just 4.63% of the total transactions.

Next, the distribution of the numbers of inputs and outputs in transactions was examined. Figure 2 shows that the majority of transactions have only one input, accounting for 72.79% of all transactions. Figure 3 shows that the majority of transactions have two outputs, 75.83% of all transactions. Also, transactions with one to six inputs and transactions with one to five outputs constitute more than 96% of all transactions. This means that the vast majority of transactions have one to six input addresses and one to five output addresses.

Finally, the numbers of transactions in each block were examined. About one-half of all blocks have one to 500 Bitcoin transactions.

## 3.2 Address Reuse

Heuristic-based clustering algorithms rely on address reuse. The one-time change heuristic, for example, identifies the change address from the outputs based on the number of occurrences of each address. An address is considered to be an old address if it has already appeared as an output address in at least one transaction in the blockchain. If the address appears as an output address for the first time in the entire blockchain, then it is considered a new address. Users are advised to use a new Bitcoin address whenever they receive a new payment to protect their privacy, but it is still common to reuse old addresses to receive Bitcoin payments [15].
<figure><img src="image_5.png" /><figcaption>Figure 3. Distribution of the numbers of outputs (real Bitcoin blockchain).</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Figure 4. Address statistics.</figcaption></figure>

Bitcoin was created in 2008 and first used in 2009 [2]. Therefore, the reuse of Bitcoin addresses since 2009 is investigated. Figure 4 shows the reused address statistics and the total number of addresses for each year from 2009 to 2021.

Figure 5 shows the address reuse rates from 2009 to 2021. The address reuse rate increased during the first four years. The reuse rate dropped to 10.1296% in 2014 and has hovered around 10% for the next seven years. However, there was a slight increase in the address reuse rate to 12.245% in 2021. The change is expected because complete Bitcoin address data for 2021 was not available when conducting the research described in this chapter. However, according to data for the previous years, the final reuse rate of 2021 may also be around 10%. All in all, since 2014,
<figure><img src="image_7.png" /><figcaption>Figure 5. Address reuse rates.</figcaption></figure>

the Bitcoin address reuse rate has been around 10%. Therefore, a 10% address reuse rate was employed to simulate the real Bitcoin network.

# 4. Bitcoin Network Simulation

This section describes the Bitcoin network simulation used to validate heuristic-based address clustering algorithms. In addition to simulating real-world transactions, it collected user wallet information and structural details in Bitcoin transactions.

## 4.1 Simulator Architecture

The simulation model is based on Simchain [24]. Various improvements and modifications were introduced in Simchain to generate the four types of Bitcoin transactions. Also, a coinbase transaction was generated automatically when a new block was created.

Bitcoin mixing services, which were introduced to improve transaction anonymity, are frequently used for money laundering, complicating the task of tracking illegal funds [29]. By combining different inputs and outputs in a transaction, mixing makes it more difficult to uncover the relationships between outputs and inputs [30]. Mixing services also affect the results of address clustering algorithms. Therefore, to make the simulation as close as possible to the real-world Bitcoin network, transactions from multiple nodes to multiple nodes were generated, as in the case of Bitcoin mixing services.

All the nodes in the simulation were full nodes with four functions, wallet, routing, consensus and storage [24]. The wallet function stores
<figure><img src="image_8.png" /><figcaption>Figure 6. File basicdata.log.</figcaption></figure>

Bitcoin key pairs and the corresponding addresses; it can also be used to query information such as the wallet balance at a node. The routing function supports the communication of information between nodes in the simulated network; also, it verifies the validity of transactions. The storage function maintains all the blockchain data such as valid transactions and unspent transaction outputs (UTXOs). The consensus function implements the same proof-of-work (PoW) consensus algorithm as the real Bitcoin network.

SHA-256 double hashing [11] was used in the simulation; specifically, after performing the SHA-256 operation on an input, another SHA-256 operation was performed on the hashed result to produce the output. The simulation employed elliptic-curve cryptography, in fact, the same secp256k1 elliptic curve as the real Bitcoin network.

## 4.2 Bitcoin Network Simulation

The experiments simulated a Bitcoin network with 300 nodes. The initial balance at each node was 1,000 BTC. The transaction fee was 0.01% of the input amount. The mining reward of 6 BTC was paid to the winning miner. Based on previous investigations, a 10% address reuse rate was set in the simulation. When setting up transactions from multiple nodes to multiple nodes, the maximum number of outputs was limited to six. This is because only 2.62% of real Bitcoin transactions have output addresses greater than six. The number of transactions generated per block was adjusted to match the probability distribution in the real Bitcoin network. The simulation generated 12 blocks and 11,796 transactions.

While real-world Bitcoin transactions were being simulated, generated data, such as user wallet information and transaction details, was recorded in three log files:

* **basicdata.log**: This file saves basic information about user wallets, such as the address list and balance (Figure 6). Note that "Peer" refers to a Bitcoin node.
<figure><img src="image_9.png" /><figcaption>Figure 9. Transaction type distribution (simulated Bitcoin blockchain).</figcaption></figure>

(i) distribution of the four types of transactions across the blockchain,
(ii) distribution of different numbers of inputs and outputs, and (iii)
address reuse rate, the evaluation metrics were selected based on these
three criteria. In addition, the number of transactions generated per
block was also checked to see if it followed the probability distribution
in the real network.

The simulation generated 11,796 transactions. Figure 9 shows the distribution of the four types of transactions. Note that multiple payments constitute the highest proportion of transactions (63.14%), followed by complex transactions and transfer transactions. Consolidation transactions constitute the lowest proportion of transactions.

Figures 10 and 11 show the distributions of the numbers of inputs and
outputs, respectively. The largest proportion of transactions have one
input and the largest proportion of transactions have two outputs. The
simulated network has a total of 29,005 addresses with a reuse rate of
9.7880%. The number of transactions in each block follows the proba-
bility distribution in the real network. The distribution patterns of the
simulated transactions are similar to the distribution patterns of real
Bitcoin network transactions. The address reuse rate of 9.7880% in the
simulation is also close to the 10% address reuse rate in the real Bit-
coin network. Thus, the simulation effectively models real-world Bitcoin
transactions.
<figure><img src="image_10.png" /><figcaption>Figure 10. Distribution of the numbers of inputs (simulated Bitcoin blockchain).</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Figure 11. Distribution of the numbers of outputs (simulated Bitcoin blockchain).</figcaption></figure>

## 5. Validation of Heuristic Algorithms

The multi-input and one-time change heuristics, which rely on the numbers of input and output addresses and address reuse [20] are commonly used for Bitcoin address clustering [22]. However, because they are heuristic in nature, the clustering results may have errors. For example, the multi-input heuristic usually comes with the assumption that a transaction was created by a single user. However, in the real world, combining multiple payments from different spenders in a single transaction is permitted, as in the case of CoinJoin [9] and PayJoin [28]. This results in false positives. Although the one-time change heuristic is based on different conditions, change addresses in the real Bitcoin network may not be identified due to address reuse or other reasons; this
can lead to false negatives. Alternatively, paying money to two payees without any change leads to false positives.

The actual owners of all the addresses in the simulated Bitcoin network can be identified because all the required data, such as wallet information, is saved. It is also possible to determine which addresses belong to specific users in order to obtain the real clusters. Applying the heuristic algorithms to the addresses yields heuristic clusters. By comparing the heuristic clusters against the real clusters, the quality of heuristic clustering can be evaluated. In particular, the validation results are expressed in terms of the error rates.

## 5.1 Error Rates

Every node in the simulated network has a wallet and generates transactions. Thus, every node has a corresponding real cluster that contains owned Bitcoin addresses. The weight of a real cluster is used to find the corresponding heuristic cluster. For example, if a point represents a given cluster and if another cluster (another point) has at least one identical address as the given cluster, then there is an edge between the two clusters (points). The weight of the edge is the number of identical addresses owned by the two clusters [6]. If a real cluster corresponds to multiple heuristic clusters, then the heuristic cluster with the highest weight is the best match. This cluster is designated as the heuristic cluster corresponding to the real cluster.

Let $R_i$ denote a real cluster derived from a user wallet and let $H_i$ denote a heuristic cluster generated by the heuristic algorithm that corresponds to the real cluster $R_i$ based on the highest weight criterion. Then, the accuracy of the cluster match is given by:

$$ \text{Accuracy}_i = \frac{|H_i \cap R_i|}{|R_i|} $$

where $|H_i \cap R_i|$ is the number of correctly-clustered addresses appearing in clusters $H_i$ and $R_i$ and $|R_i|$ is the number of addresses in the real cluster $R_i$.

The error rate of the cluster match is given by:

$$ \text{Error Rate}_i = 1 - \text{Accuracy}_i. $$

If $N$ is the total number of clusters, then the average error rate is given by:

$$ \text{Average Error Rate} = \frac{1}{N} \sum_{i=1}^{N} \text{Error Rate}_i. $$
<table><caption>Table 1. Experimental results.</caption><thead><tr><th></th><th>MI<br>Heuristic</th><th>OTC<br>Heuristic</th><th>MI + OTC<br>Heuristics</th><th>Real<br>Clusters</th></tr></thead><tbody><tr><td>Clusters</td><td>1,023</td><td>908</td><td>1,017</td><td>300</td></tr><tr><td>Addresses<br>(Largest Cluster)</td><td>9,954</td><td>58</td><td>12,266</td><td>131</td></tr><tr><td>Addresses/Cluster (Avg)</td><td>17</td><td>4</td><td>18</td><td>97</td></tr><tr><td>Average Error Rate</td><td>63.46%</td><td>92.66%</td><td>57.47%</td><td>NA</td></tr></tbody></table>

## 5.2 Validation Results

Heuristic-based address clustering algorithms were applied to all the Bitcoin addresses in the simulated Bitcoin network. Specifically, three address clustering experiments were performed. The first experiment used the multi-input (MI) heuristic, the second used the one-time change (OTC) heuristic and the third used the multi-input and one-time change (MI + OTC) heuristics. The simulated network had a total of 29,005 addresses. The simulated network was determined to have 300 real clusters because each node in the simulated network had a wallet and generated transactions.

The experimental results are summarized in Table 1. The following details are especially relevant to the validation:

* **Multi-Input Heuristic:** In this experiment, transactions have to be signed with the correct private keys. If a transaction has more than one input, then all its input addresses may belong to the same user [20]. The application of this heuristic yielded a total of 1,023 clusters. The largest cluster contained 9,954 Bitcoin addresses, but most of the clusters had only two addresses. On average, each cluster contained 17 addresses. The average error rate using the multi-input heuristic was computed as 63.46%.

* **One-Time Change Heuristic:** In this experiment, if one Bitcoin transaction has a change, then the address used to receive the change (change address) and all the input addresses may be controlled by the same user [20]. Ermilov et al. [12] have suggested limiting the transactions to have exactly two outputs to obtain more precise identification. Therefore, the one-time change heuristic was executed on transactions with exactly two outputs. A total of 908 clusters were generated. The largest cluster contained 58 Bitcoin addresses, but most of the clusters had two addresses. On
<figure><img src="image_12.png" /><figcaption>Figure 12. Error rates.</figcaption></figure>

average, each cluster contained four addresses. The average error rate using the multi-input heuristic was computed as 92.66%.

*   **Multi-Input and One-Time Change Heuristics:** In this experiment, the multi-input heuristic was applied first following which the one-time change heuristic was applied. A total of 1,017 clusters were generated. The largest cluster contained 12,266 Bitcoin addresses, but most of the clusters had two addresses. On average, each cluster contained 18 addresses. The average error rate using the multi-input and one-time change heuristics was computed as 57.47%.

Figure 12 shows the error rates for each real cluster in the three experiments. The one-time change heuristic has the highest average error rate and the multi-input heuristic has the second-highest error rate. However, using both the heuristics reduces the error rate and provides the highest accuracy. In order for the one-time change heuristic to identify change addresses more accurately, the additional condition that all transactions should have two outputs was imposed, but the average error rate still reached 92.66%. This is because the heuristic relies on the occurrences of an address to distinguish the change address. However, with developments in Bitcoin wallets, new unused Bitcoin addresses for receiving Bitcoins for new transactions are usually generated automatically. In short, if a transaction has two new output addresses, it is not possible to determine the change address based on this heuristic.

The error rates for all three experiments are not low. There are two possible reasons. First, heuristic-based clustering algorithms consider address reuse to group Bitcoin addresses, but with the increase in security awareness, the address reuse rate in the blockchain has dropped below 10%. Second, various anonymity enhancing technologies such as mixing services and privacy improvements for Bitcoin wallets have been introduced. These technologies interfere with the effectiveness of address
clustering. Therefore, to render heuristic-based clustering algorithms admissible in court, it is necessary to develop correspondingly effective address clustering methods based on new developments in blockchain technology. The anticipated smaller and measurable error rates will increase the likelihood that address clustering algorithms will ultimately become admissible.

## 6. Conclusions

Address clustering targets the pseudo-anonymity by grouping Bitcoin addresses to eventually reveal real-world identities. However, none of the heuristic-based address clustering algorithms has been successfully admitted in court proceedings because the algorithms are heuristic in nature. According to the Daubert standard, for an algorithm to be admissible, it should have a known error rate. Computing the algorithm error rates enables a court to determine the degree to which it can rely on the proffered evidence.

A simulation model was employed to analyze the error rates of two commonly-used Bitcoin address clustering heuristics, the multi-input and one-time change heuristics. The simulation effectively models real-world Bitcoin transactions and collects statistics that enable the determination of the ground truth. The ground truth, which identifies the owners of the generated Bitcoin addresses, enables the error rates of the heuristic-based address clustering algorithms to be determined. Experimental results reveal that combining the multi-input and one-time change heuristics yields the lowest average error rate of 57.47%. In contrast, using the multi-input and one-time change heuristics individually yields average error rates of 63.46% and 92.66%, respectively. These relatively high error rates, which are likely due to low address reuse rates and anonymity enhancing technologies, render it necessary to develop more effective address clustering methods based on new developments in blockchain technology.

Future research will focus on incorporating network-level functionality such as network protocols and propagation performance to create better, multi-functional simulations. Additionally, efforts will be made to develop more effective address clustering methods.

## Acknowledgement

This research was supported by the HKU-SCF FinTech Academy 2021/22 R&D Funding Scheme.
References

[1] L. Alsahan, N. Lasla and M. Abdallah, Local Bitcoin network simulator for performance evaluation using lightweight virtualization, *Proceedings of the IEEE International Conference on Informatics, IoT and Enabling Technologies*, pp. 355-360, 2020.

[2] A. Antonopoulos, *Mastering Bitcoin: Unlocking Digital Cryptocurrencies*, O'Reilly Media, Sebastopol, California, 2014.

[3] J. Banks, J. Carson, B. Nelson and D. Nicol, *Discrete-Event System Simulation*, Prentice Hall, Upper Saddle River, New Jersey, 2010.

[4] S. Bistarelli, I. Mercanti and F. Santini, An analysis of non-standard transactions, *Frontiers in Blockchain*, vol. 2, article no. 7, 2019.

[5] Blockchain.com, Bitcoin BTC USD39,431.96, Miami, Florida (www.blockchain.com/prices/BTC), April 25, 2022.

[6] F. Cazals, D. Mazauric, R. Tetley and R. Watrigant, Comparing two clusterings using matchings between clusters of clusters, *ACM Journal of Experimental Algorithmics*, vol. 24, article no. 1.17, 2019.

[7] Chainanalysis Team, Ransomware 2021: Critical mid-year update, Chainanalysis, New York (blog chainalysis.com/reports/ransomware-update-may-2021), May 14, 2021.

[8] C. Chen, Z. Qi, Y. Liu and K. Lei, Using virtualization for blockchain testing, *Proceedings of the International Conference on Smart Computing and Communication*, pp. 289-299, 2017.

[9] CoinJoin, CoinJoin Bitcoin Mixer (coinjoin.io/en), 2022.

[10] T. Cotten, An overview of Bitcoin transaction types, *Cotten.ID Blog* (blog.cotten.io/an-overview-of-bitcoin-transaction-type s-f22677b8e5a9), December 11, 2018.

[11] N. Courtois, M. Grajek and R. Naik, Optimizing SHA256 in Bitcoin mining, *Proceedings of the International Conference on Cryptogra phy and Security Systems*, pp. 131-144, 2014.

[12] D. Ermilov, M. Panov and Y. Yanovich, Automatic Bitcoin address clustering, *Proceedings of the Sixteenth IEEE International Confer- ence on Machine Learning and Applications*, pp. 461-466, 2017.

[13] C. Faria and M. Correia, BlockSim: Blockchain simulator, *Proceed- ings of the IEEE International Conference on Blockchain*, pp. 439- 446, 2019.

[14] S. Fattahi, A. Makanju and A. Fard, SIMBA: An efficient simula- tor for Blockchain applications, *Proceedings of the Fiftieth Annual IEEE-IFIP International Conference on Dependable Systems and Networks - Supplemental Volume*, pp. 51-52, 2020.
[15] A. Gaihre, Y. Luo and H. Liu, Do Bitcoin users really care about anonymity? An analysis of the Bitcoin transaction graph, *Proceedings of the IEEE International Conference on Big Data*, pp. 1198–1207, 2018.

[16] D. Garrie and J. Morrissy, Digital forensic evidence in the courtroom: Understanding content and quality, *Northwestern Journal of Technology and Intellectual Property*, vol. 12(2), article no. 5, 2014.

[17] M. Harrigan and C. Fretter, The unreasonable effectiveness of address clustering, *Proceedings of the IEEE International Conferences on Ubiquitous Intelligence and Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People and Smart World Congress*, pp. 368–373, 2016.

[18] Legal Information Institute, Daubert Standard, Cornell Law School, Ithaca, New York (www.law.cornell.edu/wex/daubert_standard), 2022.

[19] J. Luu and E. Imwinkelried, The challenge of Bitcoin pseudo-anonymity to computer forensics, *Criminal Law Bulletin*, vol. 52(1), pp. 191–236, 2016.

[20] S. Meiklejohn, M. Pomarole, G. Jordan, K. Levchenko, D. McCoy, G. Voelker and S. Savage, A fistful of Bitcoins: Characterizing payments among men with no names, *Communications of the ACM*, vol. 59(4), pp. 86–93, 2016.

[21] A. Miller and R. Jansen, Shadow-Bitcoin: Scalable simulation via direct execution of multi-threaded applications, *Proceedings of the Eighth USENIX Conference on Cyber Security Experimentation and Test*, 2015.

[22] H. Mun, S. Kim and Y. Lee, A RDBMS-based Bitcoin analysis method, *Proceedings of the Twenty-Third International Conference on Information Security and Cryptology*, pp. 235–253, 2020.

[23] J. Nick, Data-Driven De-Anonymization in Bitcoin, Master's Thesis, Distributed Computing Group, Computer Engineering and Networks Laboratory, Swiss Federal Institute of Technology Zurich, Zurich, Switzerland, 2015.

[24] Y. Pei, Simchain, GitHub (github.com/YaoyaoBae/simchain), November 14, 2018.

[25] L. Peng, W. Feng, Z. Yan, Y. Li, X. Zhou and S. Shimizu, Privacy preservation in permissionless blockchain: A survey, *Digital Communications and Networks*, vol. 7(3), pp. 295–307, 2021.
[26] L. Stoykov, K. Zhang and H. Jacobsen, Demo: VIBES: Fast blockchain simulations for large-scale peer-to-peer networks, *Proceedings of the Eighteenth ACM/IFIP/USENIX Middleware Conference: Posters and Demos*, pp. 19–20, 2017.

[27] U.S. Supreme Court, Daubert v. Merrell Dow Pharmaceuticals, Inc., *United States Reports*, vol. 509, pp. 579–601, 1993.

[28] Wasabi Docs, PayJoin (docs.wasabiwallet.io/using-wasabi/PayJoin.html), June 5, 2021.

[29] J. Wu, J. Liu, W. Chen, H. Huang, Z. Zheng and Y. Zhang, Detecting mixing services via mining Bitcoin transaction network with hybrid motifs, *IEEE Transactions on Systems, Man and Cybernetics: Systems*, vol. 52(4), pp. 2237–2249, 2021.

[30] L. Wu, Y. Hu, Y. Zhou, H. Wang, X. Luo, Z. Wang, F. Zhang and K. Ren, Towards understanding and demystifying Bitcoin mixing services, *Proceedings of the Web Conference*, pp. 33–44, 2021.

[31] Y. Zhang, J. Wang and J. Luo, Heuristic-based address clustering in Bitcoin, *IEEE Access*, vol. 8, pp. 210582–210591, 2020.