Analysis of the Bitcoin UTXO Set
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 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.
- 1.Bitcoin Core. Bitcoin core 0.11.0 release notes, July 2015. https://github.com/bitcoin/bitcoin/blob/v0.11.0/doc/release-notes.md
- 2.Ghemawat, S., Dean, J.: Leveldb (2014). https://github.com/google/leveldb. Accessed Oct 2017
- 3.Bitcoin Core. Bitcoin core 0.12.0 release notes, February 2016. https://bitcoin.org/en/release/v0.12.0
- 4.Bitcoin Core. Obfuscate database files. Bitcoin Core Github Issue 6613, July 2015. https://github.com/bitcoin/bitcoin/issues/6613
- 5.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
- 6.Bitcoin Core. Bitcoin core 0.15.0 release notes, September 2017. https://bitcoin.org/en/release/v0.15.0
- 7.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/
- 8.Blockcypher. Bitcoin transaction. https://live.blockcypher.com/btc/tx/d8505b78a4cddbd058372443bbce9ea74a313c27c586b7bbe8bc3825b7c7cbd7/. Accessed Oct 2017
- 9.Blockcypher. Bitcoin transaction. https://live.blockcypher.com/btc/tx/8a68c461a2473653fe0add786f0ca6ebb99b257286166dfb00707be24716af3a/. Accessed Oct 2017
- 10.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
- 11.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
- 12.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