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 anal

  • PDF / 567,740 Bytes
  • 14 Pages / 439.37 x 666.142 pts Page_size
  • 107 Downloads / 216 Views

DOWNLOAD

REPORT


bstract. 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.

1

Introduction

Bitcoin makes use of the Unspent Transaction Output (UTXO) set in order to keep track of output transactions that have not been yet spent and thus can be used as inputs to new transactions. Bitcoin full nodes keep a copy of the UTXO set in order to validate transactions and produce new ones without having to check the whole blockchain. This allows, for instance, the use of so called pruned nodes (introduced in Bitcoin Core v0.11 [1]), which can operate without having to persistently store the full blockchain. The UTXO set is thus a key component of Bitcoin. The format, content, and operation of this set has an important impact on Bitcoin nodes’ operations. The size of the UTXO set directly impacts on the storage requirements of a Bitcoin node, and its efficiency directly determines the node validation speed. We believe that a deep understanding of the Bitcoin UTXO set is needed to clearly understand the operation of Bitcoin, helping to find potential scalability and efficiency problems. To that end, we present STATUS (STatistical Analysis Tool for UTXO Set), a tool to analyze the UTXO set of Bitcoin. To the best of our knowledge there is no clear description in the literature of the UTXO set, its format, and how to actually analyze it. We provide such description along with a deep analysis of the set, and the tools needed to perform it.

c International Financial Cryptography Association 2019  A. Zohar et al. (Eds.): FC 2018 Workshops, LNCS 10958, pp. 78–91, 2019. https://doi.org/10.1007/978-3-662-58820-8_6

Analysis of the Bitcoin UTXO Set

79

The paper is organized as follows. Section 2 describes the UTXO set, its format, and introduces the STATUS analytical tool. Section 3 provides the actual analysis, including a general overview, the analysis of dust and unprofitable UTXOs, the distribution of the block height in which the outputs were included and the use of non-standard outputs. Finally, Sect. 4 concludes the paper.

2

The UTXO Set

The Unspent Transaction Output (UTXO) set is the subset of Bitcoin transaction outputs that have not been spent at a given moment. Whenever a new transaction is created, UTXOs are used to claim the funds they are holding, and new UTXOs are created. Basically, transactions consume UTXOs (in their inputs) and generate new ones (in their outputs). Therefore, transactions produce changes in t