UTXO vs Accounts: Merging the Best of Both Worlds (2024)

IOTA 2.0 Introduction Part 14

TL;DR:
IOTA 2.0 combines the best of the UTXO and Account models for digital asset ownership, especially tokens. The UTXO model simplifies conflict resolution, enables parallel transactions, and enhances privacy (and in IOTA 2.0 is enhanced by Account Outputs for extra flexibility). Meanwhile, the Account model enables dynamic asset management and more complex transactions. It seamlessly handles resources like Mana, making it a versatile and high-performance platform for digital asset control.

In distributed ledgers, there are two primary models for tracking the ownership of digital assets like tokens or NFTs: the Unspent Transaction Output (UTXO) model and the Account model. IOTA 2.0 combines the strengths of both to create a versatile ecosystem for managing digital assets efficiently. Let’s explore each model and how IOTA 2.0 uses them!

The UTXO Model

In the UTXO model, transactions generate outputs, which are registers of the digital assets that were received through the transaction. The same transaction also consumes outputs generated by past transactions. This cycle of generating and consuming outputs enables the easy validation of transactions by identifying conflicts in consumed outputs.

In general, each output is accessible only with the owner’s private key. When issuing a transaction consuming outputs, the owner uses the private key to prove their ownership of the digital assets like tokens, thereby validating the transaction. Consumed outputs are replaced by new ones: the recipient’s output holds the transaction's value, and any leftover value forms another new output.

UTXO vs Accounts: Merging the Best of Both Worlds (1)

According to this model, nodes maintain a shared list of all unspent outputs. Whenever a new transaction is included in the ledger, it consumes some outputs and generates new ones.

There are many key advantages to using the UTXO model:

  • Parallelism for Transactions: Transactions move funds owned by a single user, so transactions issued by different users consume completely different outputs. Such transactions can be processed in parallel, enabling faster and more efficient transaction validation.
  • Simplified Conflict Identification: In the UTXO model, conflicts are easy to classify and identify: If two transactions attempt to consume the same output, it's immediately recognized as a conflict.

Despite these advantages, the UTXO model faces challenges when registering spendable resources such as states that change dynamically (such as exchanging two distinct currencies) or Mana (see our blog post on congestion control). Resources like gas or Mana are necessary to run DeFi applications and smart contracts, but implementing them with a UTXO-based system can be difficult since an asset that represents such a resource could not be spent simultaneously by more than one transaction. The Account model offers a solution to these challenges.

For more insights into the fascinating world of UTXOs, don’t forget to refer to our Wiki article on Data Structures. We also recommend this blog post that includes thoughts on UTXOs by Vitalik Buterin, Co-Founder of Ethereum.

The Account Model

The Account model maintains a list of balances, updating it with each validated transaction or protocol-triggered event, like block rewards. Although it sounds much simpler than using the UTXO model, just keeping balances can lead to complications. For example, conflicts aren’t so simple to identify. Imagine a user with a balance of two tokens attempting to send three transactions of one token each. One of these transactions will be deemed invalid, but which one? By enabling transactions with a more complex logic, the ordering between these transactions starts to matter, and reaching consensus on transaction ordering is an extremely difficult task. So the cost of using the Account model is a more complex consensus module.

In this model, the list of balances is maintained as a global ledger state that is changed by each validated transaction. Even the slightest change in any account, no matter how simple, necessitates an update to the global ledger state, which, as mentioned above, is no easy task. This complexity poses challenges for applications that rely on frequent, dynamic value changes. However, this feature, which enables the modification of an account by issuing a transaction without knowing the current value of the account, can also open up many advantages. For example, one can issue multiple transactions without waiting for one of them to be settled. Such flexibility would be possible in the UTXO model only if the assets of the owner are already separated into different outputs.

Despite the good points of the Account model, we acknowledge the advantages of each model. So building IOTA 2.0 is not simply about choosing one of them, but how to use each to our advantage.

UTXO vs Accounts: Merging the Best of Both Worlds (2)

The IOTA 2.0 Model

The IOTA 2.0 protocol extends the UTXO model to enable the flexibility of the Account model. This approach builds on a model introduced in IOTA 1.5, Alias Outputs, and extends it into what we call Account Outputs.

Put simply, Account Outputs are outputs that carry a state within themselves. Instead of a single owner, the output now has two controlling parties: a “state controller” capable of changing the contained state and a “governor” who determines the owner (but can’t change the output’s state). This feature enhances the flexibility of the UTXO model and further enriches the asset management capabilities of IOTA 2.0.

UTXO vs Accounts: Merging the Best of Both Worlds (3)

Once conflicts have been efficiently resolved on the DAG and the resulting state has been committed, the state of the Account Output and properties associated with it can be stored as an account state. This account state conforms to the Account model in the sense that its values can be updated independently of any specific output, opening up a wider range of applications possible with a purely UTXO-based system.

IOTA 2.0 enables its users to benefit from the strengths of Account-based models while providing a UTXO-based ledger that enables secure asset management, parallel transactions, and easy conflict identification. Uniting the best of both worlds to achieve true versatility and performance, all to empower our users and achieve digital autonomy!

For a deeper dive into the classification of digital asset ownership models and the differences between UTXO and Account-based models, check out UTXO in Digital Currencies: Account-based or Token-based? Or Both?

The next blog post in this series looks at mempools and how IOTA 2.0’s unique approach limits MEV to protect users against value extraction.

IOTA 2.0 Introduction

Part 1: Digital Autonomy for Everyone: The Future of IOTA

Part 2: Five Principles: The Fundamentals That Every DLT Needs

Part 3: Data Flow Explained: How Nodes Process Blocks

Part 4: Data Structures Explained: The Building Blocks that Make the Tangle

Part 5: Accounts, Tokens, Mana and Staking

Part 6: A New Consensus Model: Nakamoto Consensus on a DAG

Part 7: Confirming Blocks: How Validators Operate

Part 8: Congestion Control: Regulating Access in a Permissionless System

Part 9: Finality Explained: How Nodes Sync the Ledger

Part 10: An Obvious Choice: Why DAGs Over Blockchains?

Part 11: What Makes IOTA 2.0 Secure?

Part 12: Dynamic Availability: Protocol-Based Assurances

Part 13: Fair Tokenomics for all Token Holders

Part 14: UTXO vs Accounts: Merging the Best of Both Worlds

Part 15: No Mempool, No MEV: Protecting Users Against Value Extraction

Part 16: Accessible Writing: Lowering the Barriers to Entry

Follow us on our official channels for the latest updates:

Discord |Twitter |LinkedIn |Instagram |YouTube |CoinMarketCap

Tags

  • IOTA 2.0
UTXO vs Accounts: Merging the Best of Both Worlds (2024)

FAQs

UTXO vs Accounts: Merging the Best of Both Worlds? ›

The UTXO model simplifies conflict resolution, enables parallel transactions, and enhances privacy (and in IOTA

IOTA
IOTA is an open-source distributed ledger and cryptocurrency designed for the Internet of things (IoT). It uses a directed acyclic graph to store transactions on its ledger, motivated by a potentially higher scalability over blockchain based distributed ledgers.
https://en.wikipedia.org › wiki › IOTA_(technology)
2.0 is enhanced by Account Outputs for extra flexibility). Meanwhile, the Account model enables dynamic asset management and more complex transactions.

What is the difference between UTXOs and accounts? ›

Account-Based Transaction Structure:

The sender's account balance is debited by the specified amount, while the recipient's account balance is credited accordingly. Unlike UTXO-based transactions, there are no explicit inputs and outputs; instead, the transaction updates the account balances directly.

What is the primary difference between UTXO model and account balance model? ›

When a transaction is completed, any unspent outputs are reassigned to the sender. UTXOs are processed continuously and are part of the beginning and end of each transaction. Unlike an account model, which maintains an account state, UTXOs are moved and tracked throughout a blockchain.

What are the disadvantages of UTXO? ›

Disadvantages of UTXO:
  • Less user-friendly: Transactions can be more complex with multiple UTXOs involved, compared to the simpler account-based system.
  • Limited programmability: Standard UTXOs don't support complex smart contracts, although newer variations like Nervos' "cell model" aim to address this.
Feb 25, 2024

What is the difference between UTXO and account based smart contracts? ›

While A and B trade with C simultaneously, in the account based model, both transactions could not be validated in parallel while in the UTXO model, a different UTXO related to C could be used and both transactions could be processed together. Thus, UTXO based smart contracts are relatively easier to scale.

What is the difference between accounting and UTXO? ›

The EUTXO model offers unique advantages over other accounting models. The success or failure of transaction validation depends only on the transaction itself and its inputs, and not on anything else on the blockchain.

What is the difference between Ethereum account and UTXO? ›

Ethereum uses the account-based model, while Bitcoin uses UTXOs (short for Unspent Transaction Outputs ) to keep track of user state/balances. The UTXO model differs pretty drastically from the account model. It's a little bit more complex - mainly because it is not a familiar interface like the account model is!

What is the alternative to UTXO? ›

Using Lightning Network as an Alternative to UTXO Management

Transacting on the Lightning Network can be an alternative to UTXO management for small transactions. However, you still have to pay the on-chain transaction fee for transferring the bitcoin into or from a lightning channel.

What is a UTXO in Bitcoin for dummies? ›

A UTXO is an unspent transaction output. Every bitcoin transaction creates outputs that can be consumed as inputs in future transactions. UTXOs are simply the transaction outputs that have not been consumed yet and can still be used for spending.

Which blockchain uses UTXO? ›

Prominent examples of cryptocurrencies adopting the UTXO model include Bitcoin and Cardano.

How does UTXO prevent double spending? ›

Here's how UTXO helps prevent double-spending:

Unique identifiers: Each UTXO has a unique identifier (transaction ID and output index), making it easily traceable. One-time use: Once a UTXO is used as an input in a transaction, it's marked as spent and cannot be used again.

How do you reduce UTXO? ›

Consolidating UTXOs into a wallet can be useful to reduce transaction costs. By combining smaller UTXOs into larger ones, you can carry out transactions more efficiently and cheaply in the future. Consolidation combines several small UTXOs in one wallet to form a larger UTXO.

Is Solana account-based or UTXO? ›

Solana, a high-performance blockchain network, has received a lot of attention because of its scalability and unique features. One distinguishing feature of Solana's architecture is its use of the UTXO (Unspent Transaction Output) model.

Is Tron an account-based blockchain? ›

What Is an Account-based Chain? Account-based blockchains tend to be smart contract focused, such as Ethereum, EOS, Tron, and Ethereum Classic.

What is the account model in blockchain? ›

The account-based model in blockchain is analogous to a bank's ledger system. It maintains a global state of accounts, each identified by a unique address, with associated balances and other states.

What is the difference between wallet and account in blockchain? ›

Your Blockchain.com Account offers a custodial balance, where we securely store your funds. Unlike the DeFi Wallet, your Blockchain.com Account is associated with your verified identity profile, and your balance is not backed up by the Recovery Phrase.

What is the difference between the two types of the ledger? ›

There are two types of ledgers used in accounting: the general ledger and the subsidiary ledger. The general ledger contains information on all of the accounts, while the subsidiary ledger contains information for a specific general ledger account.

What is an account-based blockchain? ›

The account-based model is stateful, so transactions don't uniquely reference individual coins and tokens. Rather, the account-based model simply assigns a total balance to a wallet.

Top Articles
8 Credit Score Myths Even Shrewd Home Buyers Fall For
Protect Your Portfolio From Inflation With REITs
Katie Pavlich Bikini Photos
Gamevault Agent
Pieology Nutrition Calculator Mobile
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Free Atm For Emerald Card Near Me
Craigslist Mexico Cancun
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Doby's Funeral Home Obituaries
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Select Truck Greensboro
Things To Do In Atlanta Tomorrow Night
Non Sequitur
How To Cut Eelgrass Grounded
Pac Man Deviantart
Alexander Funeral Home Gallatin Obituaries
Craigslist In Flagstaff
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Testberichte zu E-Bikes & Fahrrädern von PROPHETE.
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Pixel Combat Unblocked
Cvs Sport Physicals
Mercedes W204 Belt Diagram
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Teenbeautyfitness
Where Can I Cash A Huntington National Bank Check
Facebook Marketplace Marrero La
Nobodyhome.tv Reddit
Topos De Bolos Engraçados
Sand Castle Parents Guide
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hampton In And Suites Near Me
Hello – Cornerstone Chapel
Stoughton Commuter Rail Schedule
Bedbathandbeyond Flemington Nj
Otter Bustr
Selly Medaline
Latest Posts
Article information

Author: Saturnina Altenwerth DVM

Last Updated:

Views: 5964

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Saturnina Altenwerth DVM

Birthday: 1992-08-21

Address: Apt. 237 662 Haag Mills, East Verenaport, MO 57071-5493

Phone: +331850833384

Job: District Real-Estate Architect

Hobby: Skateboarding, Taxidermy, Air sports, Painting, Knife making, Letterboxing, Inline skating

Introduction: My name is Saturnina Altenwerth DVM, I am a witty, perfect, combative, beautiful, determined, fancy, determined person who loves writing and wants to share my knowledge and understanding with you.