Skip to content

Latest commit

 

History

History

page

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
description icon
This page introduces the Anoma Resource Machine (ARM) and its functionalities.
laptop-binary

Resource Machine

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

Transaction Checks

Before executing a transaction, 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 kind must balance 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 resource logic function must be valid. This means that all resource logic functions must return true.
  3. Compliance Proof
    Ensures that the resource lifecycle is not violated:
    • Created resources
      • Commitments can not exist already
    • Consumed resources
      • Commitments must exist already
      • Nullifiers can not exist
    • Ephemeral resources (that can be created or consumed)
      • Existence checks are skipped

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