PATTERN-BASED BITCOIN TRANSACTION GRAPH ANALYSIS - ZHYKIN, YURI; ONAI, MYKOLA (Herald of Khmelnytskyi National University. Technical sciences, 2024)
Bitcoin is the most economically successful electronic payment system, which is based on a decentralized consensus protocol that allows each participant of the system to maintain an identical copy of the database of ordered transactions. To ensure the protocol’s operation, the database of transactions is entirely transparent and contains detailed descriptions of each transaction, including information about the location of funds before and after the transaction happened. This information can be used to construct a graph of Bitcoin transactions and use various methods of analysis to establish connections between the locations of funds for the purpose of de-anonymizing users. Methods of Bitcoin transaction graph analysis are an important direction of research both for gaining knowledge about criminal financial activity and for protecting users from illegal financial espionage. This paper proposes a method of analyzing the Bitcoin transaction graph, which involves searching for patterns that correspond to typical complex multi-step operations. For this purpose, a model of a transaction graph is proposed, which includes both positions where monetary units are located at a certain point in time (addresses) and transitions that transfer monetary units from one set of positions to another (transactions themselves). Including transactions in the graph model is necessary because the key information in the patterns considered in this paper is the number of input and output positions in the transaction. The paper also describes the process of initially building and consequently expanding and extending such a Bitcoin transaction graph, which in combination with information about associations between positions and external user data forms a knowledge graph of Bitcoin transactions. The described approach can be used in practice to build a global knowledge graph of Bitcoin transactions from the start of the network operation. Graph databases can be used for this purpose since they allow storing large numbers of nodes and connections between them, as well as performing efficient pattern searches.