# Agents of Anoma: Intent Gossip Node Operators

As an integral part of the intent gossip network, intent gossip nodes are responsible for propagating intents and enabling the required mechanism of counterparty discovery for bartering. Learn about the role, how it works, and what it takes to become an intent gossip node operator on Anoma.
Alexander Miles
November 24, 2021 7 min read

## Introduction

The intent gossip network is foundational to Anoma, operating as a means of communicating intents to indicate specific wants enabling counterparty discovery for bartering. An intent is the expression of a user’s desire and what a user has to offer, equating to one side of an intended match. From an offer for graphic design services to defining a selling order of a specific token, intents can be highly diverse. As a successful barter requires a mutual coincidence of wants, which allows for the creation of a settlement transaction, intents are the representational element that comprise information about what must be satisfied in order to complete a transaction. To arrive at a settlement, mutuality needs to be present - a shared intent that meets the requisites of another to produce an agreeable match. A user offering graphic design services in exchange for BTC must find someone willing to trade BTC for graphic design services. In the absence of this dynamic, a barter economy would cease to function.

The intent gossip network aims to facilitate the heterogeneity of intents, as Anoma’s essence yields asset-agnostic transactions. In this way, it functions as a programmatic settlement layer, where intents can be relayed based on a users’ specifications signified by arbitrary data that enumerates information related to the desired barter. Necessitating a compatible intent to complete the desired trade, Anoma combines the intent gossip layer with a matchmaking system to detect agreeable intents that can be matched to create a complete transaction.

## Architecture of the gossip network

As a peer-to-peer network, the system is made up of a myriad of nodes. Anyone can create their own network - public or private - and decide all facets of it: what type of intents are transmitted, which nodes are included, and the formulation of a matchmaker. In order to establish an efficient architecture, the intent gossip network is organized by topic. Topics can be simply understood as sub-networks, where the system aggregates nodes around similar topics of interest. For example, a topic could be “currency_exchange” where all the associated nodes transmit intents for currency exchange. In the same way, sub-networks could be coordinated based on geographic location, assembling nodes to propagate intents based in a certain area.

Although sub-networks increase efficiency, maintaining an asset-agnostic bartering system means that intents will have varying degrees of complexity. In traditional exchanges and DEX protocols, things that can be traded must be preconceived and predefined. As one may imagine, the arbitrary nature of a desire can create exceedingly intricate intents which are challenging to represent computationally.

There are mechanisms in place to ensure that network participants, like other users or matchmakers, can understand each others’ intents. Each topic is linked to a particular set of assets that share the same properties. These assets are encoded into a specific schema, enabling matchmakers to simply decode them and discover matches. Users are also able to define intents more specifically by utilizing constraints. Constraints can be related to things like the intent’s price, properties or characteristics. In like manner, intent gossip nodes are able to choose what schemas and related constraints they understand and thus propagate, disposing of any incoming intents that don't match that format. Similarly, matchmakers can choose which formats to accept. These mechanisms allow for increased efficiency for the arbitrary nature of intents and further scalability for transmitting more complex intents.

## The role of a gossip node operator

As a peer in the gossip layer, intent gossip nodes are responsible for “gossiping” intents - communicating data that represents the desires of users seeking to find compatible trades. Each node subscribes to a topic (or set of topics), effectively becoming a broadcasting component of that sub-network. Nodes continuously relay and store expressions of intent, including ones received from other peers.

Gossip node operators are incentivized for propagating intents. The intent gossip network combines a liquidity incentivization system that allocates a small share of the surplus value associated with a match to the peers who gossipped about its counterparts - constituent intents. Based on propagated and stored intents, nodes’ operational cost and expected fees are established via an incentive-compatible protocol with the assumption that the intents will be settled into a transaction on the ledger. Although not every gossiped intent will result in a transaction, once an intent is matched via the matchmaking system and sent to the ledger network, the gossip node will receive their portion in accordance with operational costs and expected fees.

As an intent gossip node, one’s incentives can differ depending on operation. Besides trying to propagate a multitude of different intents, one may have more interest in a certain topic due to its geographical relevance.

### An example use case

A flea market could be represented as a topic, where a certain physical location is provided for vendors to sell merchandise. As flea markets can be large and disorganized resulting in many items being overlooked, the flea market organizer may want to implement an intent gossip network that would enable participants to express certain intents in the hopes of increasing the likelihood for settling transactions. Thus, the organizer would create a gossip network called “Asset_Flea_Market_Berlin” and become an intent gossip node themself. In addition, they could ask sellers intending to have a booth at the flea market to join, effectively creating a gossip network that can propagate intents only associated with the topic “Asset_Flea_Market_Berlin.” This sort of local gossip network could also run over WLAN or bluetooth, to have it off-line.

In this way, flea market goers - like Alice, Bob, and John - can continue to wander the flea market, stopping to browse certain booths that catch their attention. In parallel, they can configure specific intents that can be sent around the gossip network with the chance of being matched.

## How to become an Intent Gossip node Operator

Following the release of Anoma’s first public testnet Feigenbaum, curious users can install, operate and connect to the Anoma. From there, one can operate an intent gossip node in the testnet environment, becoming some of the first gossip nodes on the network and contributing to the early evolution of Anoma. We have created a simple-to-follow user guide that outlines the necessary steps in detail. A high level overview includes:

1. Installing Anoma
2. Join the testnet: anoma client utils join-network --chain-id=anoma-feigenbaum-0.ebb9e9f9013
3. To run an intent gossip node: anoma node gossip --rpc "127.0.0.1:39111"
4. Subscribe to a topic (from example): anoma client subscribe-topic --node "http://127.0.0.1:39111" --topic "asset-flea-market-berlin"

## Conclusion

The intent gossip layer provides Anoma with the fundamental mechanism of counterparty discovery for bartering by propagating intents that represent one side of a desired match. Consolidated in a peer-to-peer network and topologically organized by topic, anyone can create an intent gossip network that operates in relation to certain specifications. This increases the network’s overall usability and efficiency. In addition, it establishes wide-spread means of accessibility, enabling the possibility to develop instantiations of Anoma nearly anywhere, including ones correlated with physical locations and cultural contiguousness. Thus, intent gossip node operators represent a significant aspect for continued growth, responsible for an essential element that characterizes asset-agnosticism and financial sovereignty.

Join Feigenbaum as an intent gossip node operator and be a part of building an indispensable part of Anoma. We highly suggest joining our Discord channel to get involved in the project and meet other users that are active participants in the development of the network - including other gossip node operators! For other news and updates relating to Anoma, follow us and stay tuned on Twitter.