Welcome back to another installment of Crypto Corner! This is the moment you've all been waiting for, the final installment within the UTXO model vs Account model trilogy has arrived! To recap, the past two installments provided a deep dive on both models and laid the foundation for this final installment. Now we'll be comparing and contrasting these two models across a few key areas as well as discussing their pros and cons.
Model Objective
The UTXO model acts as a verification model. For every transaction, nodes must verify that the transaction's inputs are 1) unspent and 2) under the control of the user who broadcasted the transaction.
The Account model acts as a computational model. For every transaction, the user provides a set of instructions for their desired updated state. The more computationally intensive the transaction instructions are, the more the user will pay in gas fees to execute the transaction.
User Balances
A user's balance in the UTXO model is typically composed of multiple specific UTXOs spread across multiple addresses all under the control of the user.
A user's balance in the Account model is specific to one address and contains one homogenous balance.
Blockchain Size
A user's balance within the Account model will require less storage compared to a user's balance within the UTXO model, given the Account model balance is a single balance.
Similarly for transactions, Account model txns require less storage than UTXO model txns given Account model txns only specify the sender, receiver, the transfer amount, and single digital signature instead of the entire UTXO's history.
Privacy
The UTXO model provides relatively better privacy at the address level, since each UTXO transaction will send a user's remaining transaction change to a newly created address. Whereas the Account model encourages address reuse with each transaction and easily tracks the entire transaction history for a single user.
The Account model provides relatively better privacy at the asset level, since an Account model balance is a single, homogenous balance and does not track the entire history of a user's balance. All funds within a user's Account model balance are mixed together, whereas UTXOs within a user's balance are distinct assets with a traceable transaction history.
Transaction Processing
UTXO model transactions are deterministic, given UTXOs simply need to be verified as unspent in order to be usable as transaction inputs. Transaction outputs are then typically sent to different addresses than the address that originated the transaction, so the ordering of transactions is unimportant. Thus the UTXO model allows for parallel processing of transactions.
Account model transactions are dependent upon the ordering of transactions. Since it is required to verify a user's account balance before a transaction is executed, what happened to the state of the user's single balance is important. Depending on the ordering of transactions, the transaction may or may not be executed.
Smart Contract Capabilities
The Account model is much better suited to enable smart contract functionality because checking a single balance requires less computation than checking if a transaction input is spent or unspent. Due to this, incrementing or decrementing a user's balance allows for developers to create more complex transactions that involve multiple users/balances.
If a UTXO based blockchain were to utilize smart contracts, there would need to be logic included within the smart contract for verifying and selecting which UTXOs are used for specific transactions, instead of simply dealing with a single account balance.
Now to help summarize everything discussed across this trilogy, here are the quick hits of the pros and cons of each model.
UTXO Model
Pros
Parallel processing of transactions
Better privacy for users' addresses
Cons
Larger transaction and user balance storage requirements
Complex smart contract functionality
Account Model
Pros
Simple smart contract functionality
Smaller transaction and user balance storage requirements
Better privacy for users' assets
Cons
Transaction ordering is important
Larger attack surface for replay attacks
And that wraps up our all-encompassing trilogy on the UTXO model vs the Account model! Hopefully you now have a better understanding of each model and can appreciate why certain blockchains choose to use a certain model. Below are a few additional resources on UTXO vs Account that I've found helpful while writing these installments:
Until next time!

