Home » Blog » UTXO vs Account-Based blockchain models
UTXO vs Account-Based blockchain models
3202 ,12 yluJ

UTXO vs Account-Based blockchain models

There are different methods of record keeping and recording provenance on blockchain. The most popular among them are the Unspent Transaction Outputs model (UTXO) and the Account-based model. While Bitcoin and its derivatives (Bitcoin Mainnet, Zcash, Bitcoin Cash, Litecoin, Dash, Dogecoin, Bitcoin CV. etc.) use UTXO, Ethereum, Tron, EOS, Ethereum PoW and Ethereum Classic belong to account-based chains. They may look rather similar from afar, but in fact there are significant differences.

UTXO chains are the original form of crypto blockchains, with no accounts or wallets in the ledger’s basic works (in other words, they may be involved, but not on the protocol level). Transactions there are carried out with the help of existing unspent transaction outputs and by creating new ones. The value of these transactions is impossible to divide but can be combined with other UTXOs to achieve the required transaction amount. UTXOs can therefore be compared to cash bills and notes. If a user needs to send a transfer bigger than one UTXO, several UTXOs may be sent. If a user needs to send a smaller amount, the entire UTXO is sent and the owner receives the change back on the wallet as a new UTXO. New UTXOs can be created only by making transactions and each of them can be spent only once (after that they are not considered unspent). The same happens when people use cash.

In the case of account-based chains, smart contracts are in the focus. The model is a kind of balance management system which is rather similar to a traditional bank account. Its value can be spent partially, in different ways. If some part, not the whole, should be sent, the transaction triggers nodes and withdraws the amount in question to send it to the recipient’s account. There is no need to send the whole amount and get the change back. This method is supposedly more efficient because it is necessary to check if the balance on the sending account is enough to make a transaction.

Benefits and challenges of UTXO model

The UTXO model is used on the Bitcoin blockchain (with the exception of Coinbase transactions). What are the advantages and challenges of this method?

  • Scalability. It allows using various amounts of UTXOs, which allows reducing the number of transactions. To send a bigger amount, it is possible to take several UTXO for one transaction, but their total amount must equal the necessary transaction amount.
  • Anonymity. The model offers a higher anonymity level, mostly because users are used to creating new addresses for new transactions which makes it harder to follow them and make a pattern of users’ activities.
  • On-chain metrics. Tracking UTXOs is a convenient way to collect on-chain activity data (size, age, number of transferred UTXOs).

Although there are some challenges.

  • Space consumption. Unfortunately, the method requires a lot of space for transaction storage, because each UTXO must be stored separately. 
  • Cost. Due to the commission computation rules the transactions become more costly. Huge ‘heavier’ (due to the amount of its inputs and outputs) transactions become significantly more expensive. However, sometimes it may be more profitable to make one ‘heavy’ transaction instead of several ‘light’ ones.
  • Dust generation. Tiny UTXOs which par value is smaller than the commission for their spending are called ‘dust’. Such phenomenon causes risk to user’s anonymity and security and can be used for so-called ‘dust attacks’.

Benefits and challenges of Account-based chains

The most famous example of the model is Ethereum. Account-based chains have their own upsides and downsides. Their benefits include the following:

  • Space saving. The transaction storage requires less space than the previous model as there is no need for separate storage of each output.
  • Simplicity. The model is less complicated and easier to understand for users (when some amount should be sent, it is just withdrawn from the account and then added to the target account) and more convenient for smart contract developers to check the state and balance of the accounts. Account-based chains are considered more programmable.
  • Interoperability. There is no hard linking between the transaction parts (like with UTXO), the coins are simply added to the wallet while the balance is changing. So as in case of further transactions it is hard (and usually not necessary) to follow where those coins have come to the wallet before. 

On the other hand, there are some drawbacks of the model.

  • Scalability. If the user has several wallets and none of these has the necessary amount for a transaction, there are two ways to act: either make several transactions or collect the necessary amount in one wallet (making transaction between the wallets) and then send one heavy transaction. It takes time and causes complications.
  • Anonymity. The level of anonymity is reduced because the same addresses can be used several times and allow creating users’ activity patterns which may lead to later deanonymization.

UTXO vs Account-based model

To sum it up, both methods are attractive but completely different. In simple words, the UTXO method is closer to the traditional use of cash while the account-based method is closer to traditional banking accounts. What are other differences?

The UTXO model requires generating a new address for each new transaction, which offers better privacy. In case of an account-based model the same address can be used for several transactions.

The UTXO model supports parallel transactions, when many transactions can be made at the same time. It is less time-consuming and contributes to better resource utilization. In case of the account-based method all transactions are made sequentially or linearly.

Being stateful, account-based chains are considered to be better suited for smart contracts, as they allow more complex interactions between accounts and smart contracts and allow developers easier creation of programmable logic.

The state of the transaction in the UTXO model is stored inside the transaction itself, while in the account-based model it is stored in nodes, and the transaction includes only the sum. It makes the transaction less space-consuming. 

Although UTXO and account-based models are rather different, they might be combined. For example, there is Qtum blockchain which originally uses a UTXO model but in combination with Ethereum smart contract capabilities. The secret lies in the use of AAL (Account abstraction layer), which allows using UTXO outputs for smart contracts’ creation and then sending transactions to the contract's account. Thus, Qtum can use the advantages of both models. Another example is Veil, Qtum’s subfork and a privacy-focused network, the mainnet of which was launched in 2019, based mainly on the UTXO model with the addition of Dandelion and Bulletproof protocols. 

We use cookies on our website to improve user experience and analyze website traffic. By clicking “Accept“, you agree to our website's cookie use as described in our Privacy Policy.