Read
Edit
History
Notify
Share
Unspent Transaction Output (UTXO)
Unspent Transaction Output (UTXO) refers to the amount of a cryptocurrency that is leftover following a specific transaction i.e. a transaction output that can be used as input in a new transaction. [1][2]
Overview
Unspent Transaction Output (UTXO) is a fundamental concept in blockchain technology, particularly in cryptocurrencies like Bitcoin. It represents the output of a transaction that has not been spent and is available as an input for future transactions. Every crypto transaction consists of an input and an output. Every time a transaction is executed, the input is deleted and the output is generated. Any output that is left behind and is not spent immediately is an Unspent Transaction Output that can be later spent in a new transaction. [1]
The UTXO model is an important part of tracking token supply in a given network, as well as transaction verification. It cannot be executed without the verification of its owner, which helps prevent scams or fraud. Every UTXO transaction is linked with a personal digital signature and the owner needs to provide it to confirm the ownership of the UTXO while using it as an input for a new transaction. [1][3]
While there's no mention of UTXO in the Bitcoin white paper, the UTXO model was first developed by Satoshi Nakamoto when the Bitcoin blockchain was first published. The original Bitcoin script relies heavily on UTXO to check whether or not a particular wallet has sufficient funds to execute a requested transaction. [3]
The UTXO (Unspent Transaction Output) model operates on the principle that the sum of all inputs must be greater than or equal to the sum of all outputs for a transaction to be valid. This is one of the basic checks that validators perform to confirm the validity of a transaction. The UTXO model is particularly useful in decentralized systems since it allows for a straightforward method of detecting and preventing double spending of funds. [4]
Transaction Output
A transaction output comprises an address and a corresponding value. In this analogy, the address's signature functions as the key to unlock the output, allowing it to be utilized as an input. Subsequent transactions use outputs from prior transactions and generate new outputs for potential consumption by future transactions. Notably, each UTXO can be consumed only once and as a complete unit. Additionally, each output is spendable by precisely one input, ensuring a one-to-one relationship between outputs and inputs. [7]
Transaction Input
A transaction input represents the output of a preceding transaction, consisting of a pointer and a cryptographic signature serving as the unlocking key. The pointer directs to a prior transaction output, and the key facilitates the unlocking of this specific output. Upon unlocking, the blockchain designates the output as 'spent.' Subsequently, newly generated outputs in a transaction can be referenced by new inputs, perpetuating the chain. [7]
These freshly created outputs, yet to be spent, are termed Unspent Transaction Outputs (UTXOs). Unspent outputs are those that have not been utilized or spent in subsequent transactions. [7]
UTXO Characteristics
Indivisibility
UTXOs are indivisible, meaning that if a transaction output is not fully spent, the remaining amount is treated as a new, separate UTXO. This characteristic adds a layer of granularity to the transaction process, allowing users to manage funds more precisely. [2]
Security
The UTXO model enhances the security of blockchain transactions. Each UTXO is associated with a cryptographic key, and spending it requires providing a valid digital signature. This ensures that only the rightful owner of the private key associated with the UTXO can authorize its use in a new transaction. [2]
Privacy
The use of UTXOs contributes to privacy on the blockchain. Since each UTXO is separate, it becomes challenging to trace the complete transaction history of a particular user. This feature aligns with the pseudonymous nature of many blockchain systems. [2]
UTXO Lifecycle
The lifecycle of a UTXO begins when UTXOs are generated upon a user receiving cryptocurrency through a transaction, with the unspent outputs contributing to the user's wallet balance. Subsequently, when a user initiates a transaction, UTXOs from their wallet serve as inputs, generating new UTXOs as outputs that reflect the recipient's unspent balance. Should a user spend only a portion of a UTXO, the remaining amount transforms into a fresh UTXO linked to the same wallet address. Additionally, users have the option to consolidate UTXOs by merging smaller ones into larger entities, ultimately decreasing the number of inputs in a transaction and potentially optimizing associated transaction fees. [3]
UTXO Sets
The UTXO set in a blockchain comprises all the coins within a cryptocurrency system at a specific time. Outputs encompass UTXOs, with UTXOs being a subset. In valid transactions, only unspent outputs (UTXOs) are used to fund subsequent transactions, preventing double-spending and fraud. [5]
Private key holders, such as cryptocurrency wallet users, can utilize these UTXOs for future transactions. The process involves removing transaction inputs from the UTXO set while adding new UTXOs with transaction outputs. This mechanism ensures the integrity and security of blockchain transactions. [5]
The Extended UTXO Model (EUTXO)
The Extended UTXO (EUTXO) model represents an advanced version of the traditional Unspent Transaction Output (UTXO) model, introducing added features for enhanced flexibility and utility while preserving the inherent advantages of security, predictability, and parallelizability. [6]
In this model, UTXOs can be linked to arbitrary data and smart contract logic, allowing for the incorporation of stateful elements compatible with parallel transaction processing. This enriches the EUTXO model, providing more expressive and complex contracts compared to the basic UTXO model. Each UTXO is associated with a changeable data value, enabling contracts to maintain state across transactions. [6][7]
Despite its complexity, the EUTXO model, utilized in cryptocurrencies like the Cardano blockchain, underpins platforms like Plutus for smart contract development, supporting intricate, stateful contracts with sustained security and predictability. It retains the critical advantages of the UTXO model, ensuring predictable resource consumption and supporting high degrees of parallelism for scalable blockchain transactions. [7]
Unspent Transaction Output (UTXO)
Commit Info
Feedback
Average Rating
How was your experience?
Give this wiki a quick rating to let us know!
Media
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]