Unspent transaction output

Last updated

In cryptocurrencies, an unspent transaction output (UTXO, often capitalized as UTxO) is a distinctive element in a subset of digital currency models. A UTXO represents a certain amount of cryptocurrency that has been authorized by a sender and is available to be spent by a recipient. The utilization of UTXOs in transaction processes is a key feature of many cryptocurrencies, but it primarily characterizes those implementing the UTXO model. [1]

Contents

UTXOs employ public key cryptography to ascertain and transfer ownership. More specifically, the recipient's public key is formatted into the UTXO, thereby limiting the capability to spend the UTXO to the account that can demonstrate ownership of the corresponding private key. A valid digital signature associated with the public key must be included for the UTXO to be spent. [2]

In the UTXO model, each unit of currency is treated as a discrete object. The history of a UTXO is documented only within the blocks where it is transferred. To ascertain the total balance of an account, one must scan each block to find the latest UTXOs linked to that account. While all nodes within a blockchain network must consent to the block history, the blocks relevant to an account's balance are unique to that account.

UTXOs constitute a chain of ownership depicted as a series of digital signatures dating back to the coin's inception, regardless of whether the coin was minted via mining, staking, or another procedure determined by the cryptocurrency protocol. [2]

The UTXO model was invented for Bitcoin. Cardano uses an extended version of the UTXO model known as EUTXO. [3]

Origins

The conceptual framework of the UTXO model can be traced back to Hal Finney's Reusable Proofs of Work proposal, [4] which itself was based on Adam Back's 1997 Hashcash proposal. [5] Bitcoin, released in 2009, was the first widespread implementation of the UTXO model in practice. [1]

UTXO model vs. account Model

Cryptocurrencies that utilize the UTXO model function differently compared to those using the account model. In the UTXO model, individual units of cryptocurrency, termed as unspent transaction outputs (UTXOs), are transferred between users, analogous to the exchange of physical cash. [6] This model impacts how transactions and ownership are recorded and verified within the blockchain network.

The account model preserves a record of each account and its corresponding balance for every block added to the network. This setup enables quicker balance verification without the need to scan historical blocks, but it increases the raw size of each block (though data compression techniques can be utilized to alleviate this).

However, both models necessitate the inspection of past blocks to fully authenticate the origin of coins.

In the UTXO model, each object is immutable - units of coins cannot be 'edited' in the same way an account balance is modified when a transaction occurs. Rather, the balance is computed from the transaction history dating back to when the coins were first minted. This simplicity enhances security, as a UTXO either exists in its anticipated form or it does not. In contrast, the account model requires meticulous verification of the account's status during transactions, which can lead to oversights if not conducted correctly.

In valid blockchain transactions, only unspent outputs (UTXOs) are permissible for funding subsequent transactions. This requirement is critical to prevent double-spending and fraud. Accordingly, inputs in a transaction are removed from the UTXO set, while outputs create new UTXOs that are added to the set. The holders of private keys, such as those with cryptocurrency wallets, can utilize these UTXOs for future transactions. [1]

References

  1. 1 2 3 Antonopoulos, Andreas M. (2017). Mastering Bitcoin: Unlocking Digital Cryptocurrencies. O'Reilly Media, Inc. ISBN   978-1-4919-0263-9.
  2. 1 2 Delgado-Segura, Sergi; Pérez-Sola, Cristina; Navarro-Arribas, Guillermo; Herrera-Joancomartí, Jordi (2019). "Analysis of the Bitcoin UTXO Set". Financial Cryptography and Data Security. Lecture Notes in Computer Science. Vol. 10958. Springer. pp. 78–91. doi:10.1007/978-3-662-58820-8_6. ISBN   978-3-662-58819-2.{{cite book}}: |journal= ignored (help)
  3. Chakravarty, Manuel M.T.; Chapman, James; MacKenzie, Kenneth; Melkonian, Orestis; Peyton Jones, Michael; Wadler, Philip (2020). "The Extended UTXO Model". Financial Cryptography and Data Security. Lecture Notes in Computer Science. Vol. 12063. Springer. pp. 525–539. doi:10.1007/978-3-030-54455-3_37. ISBN   978-3-030-54454-6.{{cite book}}: |journal= ignored (help)
  4. "Reusable Proofs of Work". nakamotoinstitute.org. August 16, 2004.
  5. "Hashcash - A Denial of Service Counter-Measure". hashcash.org. March 28, 1997.
  6. "Unspent Transaction Output (UTXO)". river.com/learn/. December 15, 2020.