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

Resource Machine

This page introduces the Anoma Resource Machine (ARM) and its functionalities.

PreviousModel ComparisonNextInformation Flow Control

Last updated 2 months ago

The Anoma Resource Machine (ARM) is a virtual machine and part of the Anoma protocol. It is used to create, compose, and verify that create and consume . The ARM is stateless and run by every node processing transactions.

Transaction Checks

Before executing a , the ARM ensures it is balanced & valid. This is done by checking various proofs:

  1. Transaction Delta (Balance) Proof The number of consumed and created resources of the same must in a transaction. In other words: the transaction delta must have a value of 0.

  2. Resource Logic Proof For each resource in the transaction, the corresponding must be valid. This means that all resource logic functions must return true.

  3. Compliance Proof Ensures that the is not violated:

    • resources

      • Commitments can not exist already

    • resources

      • Commitments must exist already

      • Nullifiers can not exist

    • resources (that can be created or consumed)

      • Existence checks are skipped

The nature of this proof-checking depends on the setting of the transaction.

transactions
resources
transaction
kind
balance
resource logic function
resource lifecycle
information flow control
Created
Consumed
Ephemeral