Bitcoin relies on the Unspent Transaction Outputs (UTXO) set to efficiently verify new generated transactions. Every unspent output, no matter its type, age, value or length is stored in every full node. In this paper we introduce a tool to study and analyze the UTXO set, along with a detailed description of the set format and functionality. Our analysis includes a general view of the set and quantifies the difference between the two existing formats up to the date. We also provide an accurate analysis of the volume of dust and unprofitable outputs included in the set, the distribution of the block height in which the outputs where included, and the use of non-standard outputs.
This is a preview of subscription content, access via your institution.
Tax calculation will be finalised at checkout
Purchases are for personal use onlyLearn about institutional subscriptions
Bitcoin Core v0.15.0 was released on 14th of September 2017.
It can be found under a bigger Bitcoin Tools library at https://github.com/sr-gi/bitcoin_tools/tree/v0.1/bitcoin_tools/analysis/status.
All the analysis plots included in this section show cumulative distribution functions. Therefore, a point (x, y) in the plot shows the probability y that a given variable (depicted in the x axis label) will take a value less than or equal to x.
Notice that such measure indicates that, although the average number of outputs in regular Bitcoin transactions is higher, the number of outputs that remain unspent is, mostly, only one.
Notice that this procedure assumes, in contrast to the normal behaviour of standard wallets, that the ECDSA implementation does not use a deterministic function to compute r.
Although the standard considers a maximum number of 3 signatures in a P2MS output, up to 20 are valid regarding the consensus rule  so they could potentially be found in the UTXO set.
Bitcoin Core. Bitcoin core 0.11.0 release notes, July 2015. https://github.com/bitcoin/bitcoin/blob/v0.11.0/doc/release-notes.md
Ghemawat, S., Dean, J.: Leveldb (2014). https://github.com/google/leveldb. Accessed Oct 2017
Bitcoin Core. Bitcoin core 0.12.0 release notes, February 2016. https://bitcoin.org/en/release/v0.12.0
Bitcoin Core. Obfuscate database files. Bitcoin Core Github Issue 6613, July 2015. https://github.com/bitcoin/bitcoin/issues/6613
The Bitcoin Core developers. Bitcoin core 0.14 source code: coins.h (2017). Github: https://github.com/bitcoin/bitcoin/blob/0.14/src/coins.h
Bitcoin Core. Bitcoin core 0.15.0 release notes, September 2017. https://bitcoin.org/en/release/v0.15.0
Greg Maxwell. A deep dive into bitcoin core 0.15. SF Bitcoin Developers Meetup, September 2017. http://diyhpl.us/wiki/transcripts/gmaxwell-2017-08-28-deep-dive-bitcoin-core-v0.15/
Blockcypher. Bitcoin transaction. https://live.blockcypher.com/btc/tx/d8505b78a4cddbd058372443bbce9ea74a313c27c586b7bbe8bc3825b7c7cbd7/. Accessed Oct 2017
Blockcypher. Bitcoin transaction. https://live.blockcypher.com/btc/tx/8a68c461a2473653fe0add786f0ca6ebb99b257286166dfb00707be24716af3a/. Accessed Oct 2017
Bitcoin Core developers. Bitcoin core 0.10.0rc3 source code: transaction.h, line 137, December 2014. Github: https://github.com/bitcoin/bitcoin/blob/v0.10.0rc3/src/primitives/transaction.h#L137
Wuille, P.: Answer to: What are the limits of m and n in m-of-n multisig addresses? Bitcoin StackExchange (2014). https://bitcoin.stackexchange.com/a/28092/30668
Lombrozo, E., Lau, J., Wuille, P.: Segregated witness (consensus layer). Technical Report BIP-141, Bitcoin Improvement Proposal (2015). https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
This work is partially supported by the Spanish ministry under grant number TIN2014–55243-P and the Catalan Agència de Gestió d’Ajuts Universitaris i de Recerca (AGAUR) grant 2014SGR-691.
Editors and Affiliations
© 2019 International Financial Cryptography Association
About this paper
Cite this paper
Delgado-Segura, S., Pérez-Solà, C., Navarro-Arribas, G., Herrera-Joancomartí, J. (2019). Analysis of the Bitcoin UTXO Set. In: Zohar, A., et al. Financial Cryptography and Data Security. FC 2018. Lecture Notes in Computer Science(), vol 10958. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-58820-8_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-58819-2
Online ISBN: 978-3-662-58820-8