Anoma: A first principles jounrey from Intents to Applications

(and everything in between)

Apriori


Overview

  • Anoma from first principles
  • Intent Machines & Operating Systems
  • Anoma Applications are not real (virtual)

Anoma from first Principles

  • Design a fundamental economic and coordination infrastructure
    • capable of understanding any and all varieties of user desires
    • evolve the network to meet those desires

Anoma pursues this vision with Intents

  • What are intents?
    • colloquial defintion: credible commitments to a preference function over a shared state space
    • mathematically: atomic information flow constraints

Precisely

\(I :=\) \((S\) \(➝\) \(S)\) x \((S\) x \(S\) \(➝\) \(U\) \(⋆\) \([0,1])\)

  • We formulate intents as a pair consisting of a transition function and a partial weighted predicate over state transitions
  • The guiding intuition for this formulation is to separate control from desire

(Intent Machines: Goes, Hart, Reusche)


Continued

  • In the prototypical example intents will express a desire for some resource in exchange for another
  • The 1st component expresses a partial state transition where the intent may create/destroy what it has control over. This aids in composing intents
  • The 2nd component expresses a weighted predicate over transitions. If the transition satisfies the intent, it returns an element between 0 & 1, representing a kind of utility

ELI 5 - Intents

  • Language is the OG intent protocol
    • You are talking to a new friend
    • You nod your head and smile to indicate you want to keep listening
    • Your friend reads this intent, processes it, and continues to talk

Mapping to Language

  • State space: The conversation between you and your friend (topics, emotions, and nonverbal cues).
  • Preference function: Your desire to continue listening and engage in the conversation.
  • Credible commitment: Nodding your head and smiling
  • Intent: Your nonverbal communication conveys your intent to your friend

Intent Machines

  • Intent Processing systems
    • transitions the state of the network, and returns a (possibly trivial) batch of things that was worked on
  • In their most general form, we define intent machines as a kind of coalgebra
    • a state transition function which can model non-determinism, batch execution, and quantized time

Precisely

  • An intent machine is defined as a pair consisting of:
    • A state type S
    • A transition function: \(S → D(B × S)^B\)

Intent Machines compose

  • The composition of intent machines can be
    • sequential: chaining the output of one machine to the input of another
    • parallel: process intents simultaneously, or conditionally based on certain conditions.

Anoma is an Intent Machine

  • The Network is composed of Machines that process intents
    • from the users perspective its just one big intent machine

Your Mom is an Intent Machine

image


Alice's perspective

image


The Anoma Network

  • Anoma is an intent machine for autonomous communities.
    • Communities can participate in the Anoma network by running the Anoma protocol.
  • The Anoma network is composed of operators , people, and communities running
    the Anoma protocol

Autonomy and Interoperability for Communities

  • For communities, participating in the Anoma network, it provides both autonomy and interoperability
    • Autonomy through infrastructural self-sovereignty
    • Interoperability through protocol compatibility

A Network comparison visualized

image


The Anoma Protocol

  • A distributed operating system
    • An operating system is software which provides an operating environment for arbitrary user software.
    • In practice, operating systems are developed either accidentally or deliberately.

Your Boss in an Operating System

image


Accidental OS

  • Components not conceived of or intended of as operating system
  • Components grow in power and scope until they "close the circle" on being a complete environment.
    • web browsers
    • blockchains

Deliberate OS

  • Deliberate Design: entire system is designed and implemented with the goal of providing an operating environment to arbitrary user programs.
    • Unix
    • Erlang/OTP
    • Urbit
    • Java
    • Emacs (GNU).

Anoma OS

  • Accidentally designed systems only succeed in uncommon circumstances
    • systems can impose significant negative externalities on developers and users
  • Anoma opts for the deliberate development approach because it is well understood that accidental design may lead to poor systems.

(Ornelas & Pasco: Deliberate Design of Operating Systems)


The Protocol Architecture

  • The protocol architecture is designed around the concept of intents
  • After a user sends an intent, two phases take place:
    • counterparty discovery
    • settlement

ELI 5

  • Counterparty Discovery Example

    • Go to a Job Fair,
      • candidates look for potential employers
      • Emplyers look for Candidates
  • Settlement

    • Verbally commit
    • Sign Legal contract

Protocol Mechanics

  • Intents are sent by a user to the intent gossip network,
    • directly to a solver, sometimes not.
  • Intents may be gossiped amongst multiple solvers
    • partial solving happening, before being submitted to the mempool, ordered by consensus, and executed.
  • User Decides Topology, roles determined at runtime!

Anoma unbundles everything

  • Deconstruct, rotate and reconstruct Matroschka doll of abstractions
    • Sperate Architecture and Topology
    • Sperate Protocols from Operators
    • Seperate money from

Architecture - Topology Separation (ATS)

  • Architecture - Network architecture is a framework for the specification of a network's physical components and their functional organization and configuration, its operational principles and procedures, as well as communication protocols used
  • Topology - Network topology is the arrangement of the elements (links, nodes, etc.) of a communication network

(Wikipedia: Network Architecture and Topology)


ELI 5

  • Thought experiment Imagine you are designing a city:
    • Architecture - overall plan for the city, including where everything is supposed to be and how it all works together
    • Topology - how you decide to connect everything, roads, bridges, parks, determing the best way for people to move around the city

Ethereum's Architecture

  • The Architecture is like the protocol stack
    • Defines core components like EVM, accounts, transactions, blocks, consensus
    • Specifies high-level system design principles and interactions
    • Includes features like smart contract languages, EVM upgrades, EIPs

Ethereum's Topology

  • The topology is how it works in practice
    • Describes organization and interconnections of different node types
    • Outlines roles like full nodes, light nodes, miners/validators, bootnodes
    • Illustrates flow of data/transactions between nodes
    • Designed to support core functions like transaction propagation, consensus, execution

MEV Supply Chain Meme

image

(Stephane Gosselin: The MEV SUpply Chain)


Anoma's Abstract Architecture

  • The Resource Machine
  • The Ordering Machine
  • The Networking Machine

Anoma Resource Machine (ARM)

  • The Anoma Resource Machine (ARM) defines and enforces the rules for valid state updates that satisfy users' intents.
    • The role of the ARM in the Anoma protocol is similar to the role of the EVM in the Ethereum protocol.
  • The ARM is a particular type of intent machine.

Anoma Resource Machine Properties

  • Atomic state transitions of arbitrary complexity
  • Information Flow Control
  • Account Abstraction
  • Intent-centric architecture

Taiga & The Compiler Stack

  • Taiga is a specific implementation of the Anoma Resource Machine with ZKPs and recurssion.
  • The Compiler Stack
    • In the Anoma compiler stack, Juvix is the language in which Anoma application developers will primarily write.
    • Juvix supports both transparent and shielded execution, Cairo and Halo2 as ZKP backends supported, more to come.

The Ordering Machine

  • The ordering machine is a set of communicating engines that collaborate:
    • receive transaction candidates from users or solvers
    • order these requests for execution
    • execute the transaction candidates
    • updated the state
    • Make the state available

Ordering Machine's Engines

  • Ordering Machine consists of engines
    • Mempool: receives tx requests and stores them such that they are available for the execution engines.
    • Consensus: provides total ordering on txs
    • Execution: updates the state of the replicated state machine by executing tx candidates.

Ordering Machine Visual

image

(h/t Isaac Sheff, Tobias Heindel)


Typhon

  • Typhon is a specific implemetation of the ordring machine
    • includes Chimera chains (enable cross-atomic bundles)
    • Heterogeneous versions forthcoming
      • H Narwhal
      • H Paxos
    • Consensus rounds on demand

The Networking Machine

  • Responsible for message passing between engine instances, both locally (intra-node), and over the network (inter-node).
  • Core functionality includes
    • Message routing and transport, (more complex p2p protocols are built on top)
    • Supports: Multiple domains, Dynamic P2P overlays, and P2P routing protocols.

P2P Overlay Domains with Sovereignty (PODS)

  • Nodes are Heterogenous - a collection of nodes that are part of one or multiple heterogeneous domains.
    • Each domain has its own overlay topology, and a distinct set of P2P intra-domain protocols, tailored to the characteristics and needs of the nodes in that domain.

(Zarin, Sheff, Roos: Blockchain nodes are Heterogenous and your P2P overlay should be too)


image


Anoma's Network Topology

  • Roles and responsibilities explicitly defined based on intents
  • Allows programmable configurations with dedicated nodes for routing, solving, execution, consensus, etc.
  • Promotes flexibility for different users/communities to experiment with suitable topologies

image


Affordances for builders and users

  • For applications, Anoma offers developers and users three key affordances:
    • permissionless intent infrastructure
    • information flow control
    • intent-level composability

Permissionless Intent Infrastructure

  • Programmable Intents with a general protocol
  • Permissionless substrate for Decentralized solving

Information Flow Control

  • A mechanism for information flow control is one that enforces information flow policies.
    • Run-time mechanisms that tag data with information flow labels have are employed at the operating system level and at the programming language level.

(Wikipedia: Information Flow)


Anoma provides IFC

  • By using Anoma, users and application developers take precise control over
    • where the information in their intent goes
    • whom they share information with
    • what information they wish to reveal

ELI 5 Information Flow Control

  • Thought experiment
    • Imagine you agree to have your picture taken
    • But you don't want to show your face
    • Wat do?

Secret Unicorn

image


Example of IFC

  • The user who authors an intent can have
    • precise control over where the information in their intent goes
    • E.g. send to trusted solvers, but don’t want any data leaked to the consensus provider.
    • See Viaduct: An Extensible, Optimizing Compiler for Secure Distributed Programs by Acay et al.

(Christopher Goes: Simple information flow control for partial transactions)


Intent compossability

  • This is the cross-chain UX you were looking for solving
    • application lock-in
    • inefficent sharding
    • user-facing complexity
  • Applications are composable
    • Intents can be composed and settled across domains (can be atomic)

Anoma Applications

  • Applications in Anoma consist of a set of related resource logics, with the application state sharded across the system and potentially under different controllers.

Resources and Resource Logics

  • Resources are the atomic units of state
    • not UTXO, not account, a third more interesting thing
  • Resource- logics specify under which conditions Resources that carry them can be created and consumed.

Resources Visualized

image

(Yulia Khalniyazova: The Rise of Resource Machines)


Applications are virtual

  • Anoma applications are virtual,
    • content-addressed by their specific logics
    • exist solely through the resources referencing them,
    • not deployed or tracked in a global registry.
  • Users need to know the relevant application logics to interact with them, and these logics can be shared via the Anoma P2P network or other communication channels.

Applications are composable

  • State transitions for multiple applications can be combined atomically .
  • Interfaces can support any combination of applications without special permissioning.

Application 1st, Security 2nd

image


Unified System

  • Anoma is designed as a unified system, with all nodes running the same software but with separate configurations
    • nodes can enable or disable processing, storage, signing, etc.

Anoma Nodes

  • The Anoma node software handles
    • P2P network connections,
    • state fetching and caching,
    • signature verification
    • provides a local API for interfaces to use
  • Allows for customized run-time configurations

Customizable what?

  • "Agents" (entities paritcipating in the network) can choose which roles they play for a given transaction
    • Solver
    • User
    • Validator
    • Mempool worker
    • Executor
    • Prover

Application concepts

  • Multichat
    • Encrypted Slack-like application
  • Scale-free Kudos
    • Scale-free Money
  • Public Signal
    • Intent-centric kickstarter

Multichat

  • A distributed slack-like network without a central server operator.
  • Separates protocols from operators:
    • customize interfaces for particular types of communication.
    • user trust graphs to identify and maintain connectivity.

Minimal Lovable Multichat

  • Core feature set should include:
    • a messaging protocol
    • user management system
    • complex permissioning
    • message expiry
    • user presence and status
    • a notification system
    • end 2 end encryption

(h/t Mike Ruzic - "Minimal Lovable")


Multichat is for new types of organizations

  • Who: Designed to handle heterogeneous organization graphs
    • similar to discord or slack who have shared channels managed on centralized servers.
  • How: Share data communicate over p2p network about orgs you share information with

Scale-Free Kudos

  • Scale-free money is credit money
    • Decentralizes trust and
    • Shifts measurement to the future
    • x*y = 1
  • Permissionless tools for turning mutual trust into liquidity – coins are IOUs that can be issued and traded by anyone.
    • Circles UBI
    • Sardex
    • Cycles

(Goes: Towards Heterotopia, Shapiro et al.: Grassroots Flash)


Scale-free money Conventions

  • Minting: people can issue (mint) and destroy (burn) their currency at will.
  • Pricing: goods and services can be priced in the person’s own currency.
  • Mutual Credit: people exchange coins to create mutual credit lines, enhancing liquidity through trust.

Principles

  • Coin Redemption: people agree to redeem any coin they’ve issued for any other coin they hold.
    • Example: Community can achieve liquidity and establish a community bank without external resources.
    • By exchanging personal coins among villagers and creating a community bank with a democratically elected board, the village can issue a common village coin and facilitate a smoother economy

Public Signal

  • Intent-centric kickstarter
    • Dominant Assurance contracts (refund bonuses)
    • Funding campaigns 40% -> 66% (Alex Taborok)
  • Demand side Aggregation
    • Hardware procurement
    • funding of many kinds
  • Funds spectrum of Private to Public Goods
    • Fun gamification

Minimal Loveable Public Signal

  • Requirements
    • Entrepreneurs who desire to build a project
    • Users who want to back projects
    • Dominant assurance contract mechanisms
    • Intents (credible commitments)
    • Identity verification
    • Application interface
    • Anoma nodes

Public Signal Intent Types

  • Identity based; you submit an intent that says you will donate 1 ETH to any project Vitalik donates at least 10 ETH to
  • Information based; you submit an intent that says you will donate 1 ETH to any project doing superconductivity research
  • Incentive based; you submit an intent that says you will donate 10 ETH to any project offering a refund bonus.
  • Threshold based; you submit an intent that says you will donate 10,000 NAM to any project that raises > 50% of their campaign goal in 1 week or less

Conclusions

  • Anoma is a unified system where all nodes run the same software with customizable configurations
    • allows users to choose network topology at runtime with intents
  • Anoma Network = Intent Machine / Anoma Protocol = Operating System
  • Affordances for developers
  • New types of applications

References


More References

A Few More


We are Hiring!

  • Heliax is looking for an application researcher interested in designing and implementing some of the very first applications using the distributed operating system Anoma, ranging from
    • distributed P2P chat to
    • distributed P2P currencies
    • novel public-goods funding systems
    • MUDs
    • more

Application Researcher

  • This role offers the chance to work closely with researchers and engineers in various domains.
    • synthesise ideas found in research into a consistent, integrated system,
    • implementing a prototype, and
    • helping other engineers or hackers (often outside of Heliax) take the prototype into reality and production.

Get in Touch

image

Twitter: @apriori0x 😉


Questions?

image


Select a repo