RDF MODEL OF BITCOIN TRANSACTION GRAPH
DOI:
https://doi.org/10.31891/2307-5732-2024-341-5-3Keywords:
Bitcoin, cryptocurrency, blockchain, cryptography, elliptic curve, transaction graph, knowledge graph, ontology, RDF, SPARQLAbstract
The Bitcoin blockchain contains the history of all Bitcoin transactions since the start of Bitcoin network operation. In order to allow each network participant to easily verify the compliance of any transaction with the set of characteristics that describe a valid transaction, all the information in the transaction, namely the amount of Bitcoin transferred, previous owners, and new owners, is fully open. Aggregated, this information forms the Bitcoin transaction graph, which shows the history of ownership changes of Bitcoin units since the start of network operation. This graph can be extended with information about the connections between Bitcoin network user identities (such as email addresses) and pseudonymous identities within the Bitcoin network (Bitcoin addresses), and such an extended graph can be used to analyze money flows between Bitcoin network users. Studying the possibilities of such analysis is crucial for protecting the transactional privacy of individual users.
This study proposes a model of the Bitcoin transaction graph based on the Resource Description Framework (RDF) technology, which allows for the quick identification of previous and next transactions at any distance from the transaction under consideration, as well as the extension of the transaction graph with annotations about possible connections between transactions and related external data without the need to modify the database schema. The study also compares the performance of the search for previous and next transactions in the RDF representation of the graph and alternative representations.
The described model can be practically used to build a Bitcoin transaction graph in the form of a set of statements in a database capable of storing RDF triples as well as search for patterns in such a graph using any query language supported by such a database.