Skip to main content
zenodoopen

Bitcoin dust transactions

<p><strong>General information</strong></p> <p>This repository contains data regarding&nbsp;Bitcoin <em>dust</em> transactions.&nbsp;In the Bitcoin protocol, dust refers to the&nbsp;small amounts of currency that are lower than the fee required to spend them in a transaction.&nbsp;</p> <p>The repository comprises all transactions with at least one dust&nbsp;output or input. According to our definition, a dust output (or input) is considered dust if the associated amount is&nbsp;between&nbsp;1 and&nbsp;545 satoshis (where 1 satoshi = 10<sup>-8</sup>&nbsp;bitcoin). For more details about the definition of dust, see [1].</p> <ul> </ul> <p>All dust transactions have been extracted from the first 479,970 blocks of the Bitcoin blockchain, thus covering the time period between January 3rd, 2009 18:15 GMT and&nbsp;August 10th, 2017 18:03 GMT.</p> <p><strong>Data set description</strong></p> <table> <tbody> <tr> <td>File</td> <td>Description</td> </tr> <tr> <td>txs</td> <td>A text file containing a representation of all Bitcoin transactions that create and consume dust. See the description below for more information about the structure of this file.</td> </tr> <tr> <td>txs_addr_map.csv</td> <td>A CSV file that maps numeric address identifiers to real Bitcoin addresses. This file comprises all addresses appearing in the txs data set.</td> </tr> <tr> <td>labels.csv</td> <td>A CSV file containing categorical entity labels for Bitcoin addresses appeared in transactions between 2010 and 2018. This file has been derived from the <em>Entity-Address data set</em> [2, 3] (see also:&nbsp;<a href="https://github.com/Maru92/EntityAddressBitcoin">https://github.com/Maru92/EntityAddressBitcoin</a>).</td> </tr> <tr> <td>outputs_spent_stats.csv&nbsp;</td> <td>A CSV file containing statistics about all spent outputs in the first 479970 blocks of the Bitcoin blockchain. The file describes the durations of dust and non-dust outputs. The duration is defined as the difference between the height of the block where the output is spent and the height of the block where it was created.&nbsp;</td> </tr> <tr> <td>cluster_sizes_*.csv</td> <td>These CSV files contain information about clusters of addresses induced by Bitcoin transactions. They have been used for the clustering analysis presented in [4]. See <a href="https://github.com/mloporchio/DustAnalysis">this GitHub repository</a> for more information.</td> </tr> </tbody> </table> <p><strong>Transaction representation</strong></p> <p>The <em>txs</em> file contains a textual representation of dust transactions in the Bitcoin blockchain. Each row of the file corresponds to a transaction and is&nbsp;represented as a sequence of fields</p> <p><code>info:inputs:outputs</code></p> <p>with the following meaning.</p> <ol> <li> <p>The <code>info</code> section contains general information about the transaction. It is represented as a list of comma-separated fields, namely:&nbsp;<code>timestamp,blockId,txId,isCoinbase,fee,approxSize</code>.</p> <p>The meaning of the fields is the following:</p> <ol> <li><code>timestamp</code> represents the Unix timestamp of the block containing the transaction.</li> <li><code>blockId</code> represents the height of the block containing the transaction.</li> <li><code>txId</code> is a numeric value that univocally identifies the transaction.</li> <li><code>isCoinbase</code> is equal to 1 if the transaction is a coinbase transaction, 0 otherwise.</li> <li><code>fee</code>&nbsp;denotes the transaction fee,&nbsp;expressed in satoshis (i.e.,&nbsp;the smallest bitcoin denomination).</li> <li><code>approximateSize</code> denotes the approximate size of the transaction (expressed in bytes).</li> </ol> </li> <li> <p>The <code>inputs</code> section contains a sequence of (0 or more) transaction inputs separated by a semicolon. Each input, in turn, is represented as a comma-separated string <code>addrId,amount,prevTxId,offset</code> where:</p> <ol> <li><code>addrId</code> represents the numeric identifier of the spending address;</li> <li><code>amount</code> is the amount of value associated with the input (expressed in satoshis);</li> <li><code>prevTxId</code> represents the numeric&nbsp;identifier of the transaction that created the output that is currently being spent;</li> <li><code>offset</code> represents the position, among all outputs of <code>prevTxId</code>, of the output that is currently being spent.<br> &nbsp;</li> </ol> </li> <li>The <code>outputs</code> section contains a sequence of (1 or more) transaction outputs separated by a semicolon. Each output, in turn, is represented as a comma-separated string <code>addrId,amount,scriptType</code> where:<br> &nbsp; <ol> <li><code>addrId</code> represents the numeric identifier of the receiving address;</li> <li><code>amount</code> is the amount of value associated with the output (expressed in satoshis);</li> <li><code>scriptType</code> is a numeric identifier representing the type of the script associated with the output (i.e., 0=UNKNOWN; 1=P2PK; 2=P2PKH; 3=P2SH; 4=RETURN; 5=EMPTY).</li> </ol> </li> </ol> <p><strong>Data analysis</strong></p> <p>Data included in this repository have been employed for the analyses presented in [4, 5].&nbsp;<a href="https://github.com/mloporchio/DustAnalysis">This GitHub repository</a> contains several tools, written in Java and Python, for analyzing the data.</p> <p><strong>Cite this work</strong></p> <p>If the data included in this repository have been useful, please cite the following article in your work.</p> <pre>@article{loporchio2023bitcoin, &emsp;&emsp;title={Is Bitcoin gathering dust? An analysis of low-amount Bitcoin transactions}, &emsp;&emsp;author={Loporchio, Matteo and Bernasconi, Anna and Di Francesco Maesa, Damiano and Ricci, Laura}, &emsp;&emsp;journal={Applied Network Science}, &emsp;&emsp;volume={8}, &emsp;&emsp;number={1}, &emsp;&emsp;pages={1--28}, &emsp;&emsp;year={2023}, &emsp;&emsp;publisher={SpringerOpen} } </pre> <p><strong>References</strong></p> <ol> <li>P&eacute;rez-Sol&agrave;, Cristina, et al. &quot;Another coin bites the dust: an analysis of dust in UTXO-based cryptocurrencies.&quot;&nbsp;<em>Royal Society open science</em>&nbsp;6.1 (2019): 180817.</li> <li>Jourdan, Marc, et al. &quot;Characterizing entities in the bitcoin blockchain.&quot;&nbsp;<em>2018 IEEE international conference on data mining workshops (ICDMW)</em>. IEEE, 2018.</li> <li>Jourdan, Marc, et al. &quot;A probabilistic model of the bitcoin blockchain.&quot;&nbsp;<em>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops</em>. 2019.</li> <li>Loporchio, Matteo, et al. &quot;Is Bitcoin gathering dust? An analysis of low-amount Bitcoin transactions.&quot;&nbsp;<em>Applied Network Science</em>&nbsp;8.1 (2023): 1-28.</li> <li>Loporchio, Matteo, et al. &quot;An Analysis of Bitcoin Dust Through Authenticated Queries.&quot;&nbsp;<em>Complex Networks and Their Applications XI: Proceedings of The Eleventh International Conference on Complex Networks and their Applications: COMPLEX NETWORKS 2022&mdash;Volume 2</em>. Cham: Springer International Publishing, 2023.</li> </ol>

ShareScore

48/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
8
Harmonization
8
Access
20
Reuse readiness
8
Engagement
4

Topics