
头雁|Aug 01, 2025 02:20
Learning notes on how to use zkvm with anoma, what are resources and resource machines
In the Anoma protocol, users submit preferences about the system status, and the system will continuously update its status based on these preferences. Anoma Resource Machine (ARM) is a part of the Anoma protocol that defines and executes effective state update rules that meet user preferences. This abstraction well describes what ARM does, just like in the ETH Yellow Book 📒 The description of a 'shared state single column state machine' also has simplicity.
The atomic units of ARM state are called resources
Each resource has a predicate associated with it, called resource logic, which describes in declarative form the operations that can be performed on that resource, essentially specifying the conditions for creating and using that resource. These conditions may include creating or using other resources, explicit operational authorization (such as checking signatures provided by designated parties), etc.
By now, we can abstractly understand what a resource machine is.
If we use ETH as an analogy, resources are somewhat similar to the account model and UTXO model, but there are also some differences because resources support logical descriptions. From here, you should know the concept of abstract accounts that ETH has previously updated, which supports logical programming in accounts. In fact, the resource model is similar to an abstract account, but it differs in three aspects: first, it natively supports resource programmability (similar to the programmability of abstract accounts), which is not added later on; second, it supports native privacy (officially called blocking or information flow control); and third, it is centered around intention.
In the Anoma protocol, resources are the state units of the system, similar to the UTXO model where UTXO is the state unit of the system. Unlike the Bitcoin UTXO model (which considers UTXO as a currency unit and its expressive power is limited to that currency environment), the resource model is universal and provides flexibility - the resource logic allows for the construction of applications that are not limited to financial environments, and the resource model can support applications running in any model. That is to say, resources can describe more universal things, and state changes are not only limited to currency state changes. They may be physical objects, such as a dog, a small cat, a pencil, etc.
The following figure describes the resource model, which shows that there are bottles and ETH in the resource 😄
ARM resource machines are machines that complete this state transition and reach consensus, executing protocols that satisfy user preferences for effective state update rules.
In the implementation of ARM, ZKVM is required, which is the zkvm produced by Risc0 (Boundless protocol @ boundless_xyz). Why does ARM need ZKVM?
The logic is as follows:
User intent: Users submit intent through the Anoma network, describing their preferences for system state (such as transactions or resource transfers).
Solver processing: The solver receives the intent, analyzes the resource logic, and generates a solution that satisfies the intent.
The solver uses zkVM to execute resource logic (such as the logic implemented in arm-risc0), generate state transitions, and corresponding ZKPs.
A simple logical diagram (excluding descriptions of the propagation intentions of gossip networks, but only describing the logic related to zkvm and intent machines, as they are coupled together):
Actual example:
User submission intention: Transfer asset A to address B, with additional custody logic (e.g. unlocking funds at a specific time).
The solver runs resource logic (through zkVM), generates transactions and ZKP, and proves that the transactions meet the custody conditions.
ARM verifies that the transaction conforms to the resource logic, and the on chain validator checks ZKP to confirm that the transaction is valid.
Status update: Asset A has been transferred to address B and recorded on the blockchain.
The above information is based on some of the papers and materials I have read on the resource machine in the past few days. There may be some misunderstandings, but more can be done https://research.anoma.net/ View, there is a wealth of information about anoma research and community discussions here, which can be helpful for content creation.
anoma @thekerukeion intetsjam
Share To
Timeline
HotFlash
APP
X
Telegram
CopyLink