Abstract

Bitcoin relies on a peer-to-peer network for communication between participants. Knowledge of the network topology is of scientific interest but can also facilitate attacks on the users’ anonymity and the system’s availability. We present two approaches for inferring the network topology and evaluate them in simulations and in real-world experiments in the Bitcoin testnet. The first approach exploits the accumulation of multiple transactions before their announcement to other peers. Despite the general feasibility of the approach, simulation and experimental results indicate a low inference quality. The second approach exploits the fact that double spending transactions are dropped by clients. Experimental results show that inferring the neighbors of a specific peer is possible with a precision of 71% and a recall of 87% at low cost.

Notes

Acknowledgements

This work was supported by the German Federal Ministry of Education and Research (BMBF) within the project KASTEL_IoE in the Competence Center for Applied Security Technology (KASTEL). The authors would like to thank the anonymous reviewers for their valuable comments and suggestions.

Appendix

Figure 7 shows that the approach exploiting the accumulation of transactions scales linearly with the network size.

Precision and recall depending on the number of runs for variant Count and \(v_\mathrm {M}\) being connected to 375 of 500 peers.

Figure 8 shows precision and recall for the variant Count of the approach exploiting double spends. As can be seen, the recall increases in steps. These steps are caused by adjusting the threshold for the required number of receptions. While this variant can be used to reach high precision, the recall is limited even after more than 200 runs.