Skip to content

icon: material/file-document-outline search: exclude: false boost: 2 tags: - intent-machine - intent - solver - protocol hide: - toc


Intent Machine

Introduction

The Intent Machine is an abstraction describing the process of counterparty discovery and settlement in the Anoma protocol. Intent machines take sets of intents, search for possible valid and balanced transactions, and select transactions to actually execute. An abstract description can be found in the following report:

Intents

In the abstract, an intent is an expression of preference by an agent over future states of the system. Concretely, intents define which of the resources owned by an agent they offer for consumption, and which they desire to be created, in a transaction.

Solving

The way that balanced transactions are derived from sets of intents is called solving. The act of solving involves aggregation of intents, as well as matching sets of intents, s.t. the resources to be consumed and created encoded in the intents of this set are balanced.

Data Format

Intent

An intent is represented in Anoma as a (potentially unbalanced) transaction. Some intents contain ephemeral resources, the resource logic of which encodes the constraints for the intent. Other intents can express their unfulfilled constraints solely by means of unbalanced parts of the delta term.

Solver Interface

Solvers receive sets of unbalanced transactions from agents, run matching algorithms of their choice over them, and return balanced transactions, which are sent to the execution engine.