Primitives / Account Models
Architecture Blockchain Primitive

Account Models

The fundamental data structures blockchains use to track ownership and state, either account-based or UTXO

What are Account Models?

Every blockchain must answer a fundamental question: how do we track who owns what? The account model is the data structure that records ownership, balances, and state across the network. This foundational design choice influences everything from transaction format to smart contract capabilities, making it one of the most consequential architectural decisions in blockchain design.

At its core, an account model defines how the blockchain represents value and state changes over time. When Alice sends tokens to Bob, the blockchain must update its records to reflect this transfer. Different account models approach this problem in fundamentally different ways, each with distinct trade-offs for privacy, scalability, and programmability. Understanding these models is essential for grasping why different blockchains behave the way they do.

The two dominant paradigms are the account-based model, pioneered by Ethereum, and the Unspent Transaction Output (UTXO) model, introduced by Bitcoin. These aren’t merely implementation details; they shape the entire user experience, from how wallets display balances to how developers write applications. The choice of account model ripples through every layer of a blockchain’s architecture.

Account-Based Model

The account-based model, most famously implemented in the EVM, works much like a traditional bank ledger. Each address has an associated account that stores its current balance, and transactions directly modify these balances. When you check your Ethereum wallet, it queries a single account record to display your ETH holdings. This intuitive approach makes it easy to reason about state and build complex applications.

Accounts in this model contain more than just balances. Each account maintains a nonce (a counter that increments with every outgoing transaction) which prevents replay attacks and ensures transaction ordering. For smart contract accounts, the model also stores contract code and persistent storage, enabling stateful applications. This rich account structure is what makes Ethereum’s programmable money possible, allowing contracts to maintain complex internal state across transactions.

The simplicity of the account model comes with certain constraints. Because transactions modify global state directly, parallel execution becomes challenging, and two transactions touching the same account must be processed sequentially. Additionally, transaction history isn’t explicitly preserved in the account structure itself, requiring separate indexing services to reconstruct the full history of an address. Despite these limitations, the account model’s developer-friendly nature has made it the dominant choice for smart contract platforms.

UTXO Model

The UTXO model, introduced by Bitcoin, takes a radically different approach to tracking ownership. Rather than maintaining account balances, the blockchain tracks individual “coins” as unspent transaction outputs. Each UTXO represents a specific amount of value that can only be spent once, similar to physical cash. Your wallet balance is simply the sum of all UTXOs your keys can unlock.

When you spend Bitcoin, you don’t debit an account; you consume one or more UTXOs entirely and create new ones. If you have a 10 BTC UTXO and want to send 3 BTC, the transaction destroys the 10 BTC UTXO and creates two new ones: 3 BTC for the recipient and roughly 7 BTC back to yourself as change. This coin selection process happens automatically in wallets but is fundamental to how the UTXO model operates.

The UTXO model offers natural advantages for privacy and parallelization. Since UTXOs are independent of each other, transactions that don’t share inputs or outputs can be validated simultaneously. Privacy benefits emerge because users can easily generate fresh addresses for each transaction, and the lack of persistent account state makes chain analysis more difficult. However, the model’s stateless nature makes implementing complex smart contracts challenging, as there’s no natural place to store persistent application state.

Comparing Models

The choice between account and UTXO models involves fundamental trade-offs that affect every aspect of blockchain design. Account-based systems excel at programmability because the persistent state storage makes it straightforward to implement complex smart contracts with rich internal logic. UTXO systems, conversely, prioritize transaction independence and verification simplicity, making them well-suited for pure value transfer but awkward for stateful applications.

Privacy characteristics differ significantly between the models. UTXO’s explicit coin-based structure naturally supports features like CoinJoin, where multiple users combine transactions to obscure the flow of funds. The account model’s persistent addresses make privacy-preserving techniques more difficult to implement, though not impossible. Parallelization also favors UTXO: because outputs are independent, nodes can validate many transactions simultaneously without worrying about state conflicts.

Scalability implications extend beyond simple parallelization. Account-based systems require maintaining a growing state database of all accounts, which can become unwieldy over time. UTXO systems naturally prune spent outputs, keeping the active state set more manageable. However, UTXO transactions tend to be larger in bytes because they must reference specific inputs, while account transactions can be more compact. Neither model offers a clear universal advantage, as the best choice depends on the blockchain’s intended use case.

Hybrid Approaches

Recognizing that neither pure model is optimal for all use cases, several blockchains have developed hybrid approaches. Cardano’s Extended UTXO (eUTXO) model augments traditional UTXOs with datum (arbitrary data attached to outputs) and more expressive spending conditions. This enables smart contract functionality while preserving UTXO benefits like deterministic transaction validation and natural parallelism.

Sui takes an even more novel approach with its object-centric model. Rather than accounts or UTXOs, Sui tracks “objects” that can be owned, shared, or immutable. Owned objects function similarly to UTXOs, enabling parallel processing of transactions that touch different objects. Shared objects behave more like account-based state, allowing multiple transactions to interact with the same data. This flexibility lets developers choose the appropriate model for each piece of application state.

These hybrid models represent an ongoing evolution in blockchain architecture. By combining elements of both paradigms, they aim to capture the programmability of account-based systems and the parallelism of UTXO models. The emergence of these approaches suggests that the future of blockchain design may not be a choice between two competing models, but rather a synthesis that draws on the strengths of each tradition while mitigating their respective weaknesses.

Related Primitives