description | icon |
---|---|
This page introduces the Anoma Resource Machine (ARM) and its functionalities. |
laptop-binary |
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.
Before executing a transaction, the ARM ensures it is balanced & valid. This is done by checking various proofs:
- 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. - 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 returntrue
. - Compliance Proof
Ensures that the resource lifecycle is not violated:
The nature of this proof-checking depends on the information flow control setting of the transaction.