The Unspent Transaction Output (UTXO) model is a way to track ownership of digital assets in cryptocurrency systems. The Radix Engine implements a novel UTXO architecture that enables unique features around scalability, asset universality, transaction concurrency, and accounts, while preserving the core integrity of UTXO-based accounting.
- Classic UTXO Model
 - Radix Engine UTXO model
 
Classic UTXO Model
The unspent transaction output (UTXO) model was popularized by Bitcoin as a way to track ownership of coins in a distributed ledger. In this model, the ledger consists of a set of UTXOs representing coins that can be spent. Each UTXO has a value and a locking script that defines the conditions required to spend it.
When a transaction occurs on the Bitcoin network, it consumes UTXOs by satisfying their locking script conditions and creates new UTXOs with updated owners and values.
Example: If Alice has a 2 BTC UTXO, she can create a transaction consuming that UTXO and creating two outputs:
		➡️ 1.5 BTC UTXO assigned to Bob
		➡️ 0.5 BTC change UTXO back to herself.The key rules of the classical UTXO model are:
- Coins are represented exclusively as UTXOs on the ledger. The set of available spendable coins equals the set of unspent UTXOs.
 - UTXOs are created via mining rewards and transaction outputs. New UTXOs come into existence when transactions produce change.
 - UTXOs are consumed and destroyed when used as transaction inputs. This transfers ownership by assigning new UTXOs to new owners.
 - Transactions specify input UTXOs to consume and output UTXOs to create in a single atomic operation.
 - Consensus rules validate transactions verify ownership of input UTXOs via satisfaction of their locking scripts.
 - The ledger is represented as the chain of transactions with each transaction changing UTXO state.
 
This model provides a complete historical record showing the full chain of custody for every coin on the network. The UTXO architecture offers useful integrity properties around ownership and prevents double spending without a central authority.
Radix Engine UTXO model
The Radix Engine implements a UTXO model that makes several optimizations tailored for scalability and performance of decentralized applications. Some key properties of the Radix Engine UTXO architecture:
- Assets are defined as universal resources rather than being tied to specific smart contracts or accounts. Resources can be freely used across components and shards.
 - Components group all their owned resources into a single UTXO. This allows maximum throughput for each component on its shard.
 - Accounts are components, so each user's balance is represented by an account-specific UTXO.
 - Transactions specify intent rather than directly specifying input/output UTXOs. The protocol dynamically selects UTXOs to satisfy intent.
 - Validity relies on digital signatures proving ownership of resources rather than locking script conditions.
 - Transferring ownership is done by constructing/destructing resources rather than a locking model. This provides inherent atomicity.
 - Concurrent double spends are resolved by aborting one transaction rather than rejecting both.
 - The ledger tracks transactions that transform state by constructing/destructing resources.
 
With these properties, the Radix Engine UTXO model offers several key benefits:
- Assets are universal across the ledger, enhancing composability between dApps.
 - Component grouping into single UTXOs maximizes shard throughput.
 - Specifying intent avoids transaction conflicts, increasing concurrency.
 - Validity via signatures has low coordination overhead.
 - Construction/destruction enables atomicity without locks.
 - Selective transaction abortion increases throughput.