Anoma Developer Documentation
  • Overview
  • Build
    • Getting Started
    • Your First Anoma App
      • Define a Resource
      • Write a Transaction Function
      • Write a Projection Function
      • Run your App
    • Anoma App Examples
  • LEARN
    • Overview
    • State Model
      • Model Comparison
    • Resource Machine
      • Information Flow Control
    • Resources
      • State
      • Logic
      • Kind
      • Lifecycle
    • Transactions
      • Delta
      • Actions
      • Balanced Transactions
      • Intents
    • Applications
      • Backend
      • Interface
    • Services
      • Indexing
      • Solving
Powered by GitBook
On this page
  1. LEARN
  2. State Model

Model Comparison

This page compares Anoma's resource model with the account and UTXO model.

PreviousState ModelNextResource Machine

Last updated 28 days ago

The advantages of the resource model are best understood by comparison with other widely used state models: the account model and the UTXO model.

Resource Model
UTXO Model
Account Model

State Representation

State Scope

Local, fragmented among resources

Local, fragmented among UTXOs

Global, unified across all accounts

State Updates

Consumption & creation of resources

Consumption & creation of UTXOs

Direct modification of global state

State Lookup

Aggregation of resources (e.g., by kind or owner)

Aggregation of UTXOs (e.g., by owner)

Direct lookup in the account

Logic Predicates

Arbitrary logic per resource

The same logic for each UTXO

Arbitrary logic per account

Apps

General application & intents

Limited applications (e.g., payments)

General applications

App Distribution

Consumption & creation of resources

Consumption & creation of UTXOs

Account deployment to an address to each chain

Used by

Anoma

Bitcoin, Zcash

Ethereum, Solana, Cosmos, Polkadot

Cover

A transaction consuming and creating different resources of different kind in the resource model.

Cover

A transaction consuming and creating UTXOs in the UTXO model.

Cover

A transaction updating the state in a smart contract in the account model.