Anoma Applications

Preface

Below you will find slides and talk track notes from a recent presentation given at the Decentralized credit network (DCN) workshop at AFT 2023. The workshop was organized and moderated by Andrew Miller & Aniket Kate.

This workshop aims at bringing academic and industrial participants together to discuss structures, security, and privacy for credit networks and foster future collaborations towards more inclusive and secure decentralized credit networks. The goal is to offer a platform to discuss the structural intricacies, security against Sybil attacks and node compromises, and privacy enhancements within credit networks.

Slides: https://github.com/0xapriori/Slides/blob/main/AnomaApplications.pdf

Acknowledgements: Thanks to @degregat, @isheff, @cwgoes, and @Ajmaq for feedback in preparation for this presentation.

Anoma Applications

Good morning, my name is Apriori, it’s an honor and a privilege to be here. Today I’m going to talk about Anoma.

First, before we begin, I’d like to thank a few people. Thanks to Andrew Miller and Aniket Kate and the AFT conference organizers for this great event. Thanks to Christopher Goes, Ethan Buchman, Informal Systems, Julio Linares, and the entire Heliax team. Without them, I would not be here today.

Overview

In this talk we will progressively describe Anoma Applications. The talk is broken into three parts.

A few caveats before we begin.

  • This is not the true holy version of Anoma.
  • This is a synthesis of the current working specs, conversations, and ideas from the research forums.

Part 1.

Application Definition

Applications may be bundled with the computer and its system software or published separately and may be coded as proprietary or open-source.

The term “app” often refers to applications for mobile devices, such as phones.

Examples of Web 2 Applications

Here is a list of some of the applications that you may use today. Many of the applications listed here have strong network effects and thus own a significant market share of the categories they compete in.

Limitations of Web 2 Applications

Drawbacks include high switching costs, little to no privacy, censorship, centralized, and rent-seeking behavior. One question may arise; given these drawbacks, what motivates or keeps users “locked-in”?

Affordances & Don Norman

Affordances represent the possibilities in the world for how the agent (a person, animal, or machine) can interact with something.

Psychologist James Gibson coined “affordance” in 1977, referring to all action possibilities with an object based on users’ physical capabilities. For instance, a chair affords sitting on, standing on, throwing, etc.

Don Norman later (1988) introduced the term to the design community modified the meaning slightly to make it more appropriate for use by designers. For example, Don Norman defined affordances as perceivable action possibilities – i.e., only actions which users consider possible. So, designers must create objects’ affordances to conform to users’ needs based on these users’ physical and perceptual capabilities, goals and past experiences.

Clear affordances are vital to usability. Users will map the possibilities of what an object does according to their conceptual model of what that object should do (e.g., inserting fingers into scissor holes to cut things). If the affordances of an application are apparent, this can often lead to a great user experience.

Examples Web 3 Applications

With some context, let’s examine these Web3 applications by category. While Web 3 applications are interesting, DeFi so far has proven to be the dominant category. Outside of DeFi and infrastructure applications there is still much uncharted territory. In fact Crypto’s killer application is barely understood. But, we’ll get to that later.

Favorable Properties of Web 3 Applications

These are favorable properties, now lets look at some limitations.

Limitations of Web 3 Applications

  • High Cost for users and developers - expensive block space, pay for liquidity
  • Security vulnerabilities - smart contract hacks, phishing scams, social engineering
  • Limited Composability - liquidity fragmentation across domains
  • Best UX requires trust - centralized sequencers, off-chain intermediaries (wyvern), Centralized Exchanges
  • High onboarding costs - steep learning curve - time commitment
  • Isolation - difficult to compose with the “real world”

Is there a way out?

Part 2.

There are many misconceptions about Anoma. Today, I’m going to create some more.
@apriori

Outline

Now that we’re warmed up we will talk about Intents first. Next we will discuss Anoma, the network, the protocol, and its affordances.

Intents

Recently There has been much conversation in the community with respect to the term intents. What are intents?

In general, intents are credible commitments to preferences over the state space of a system. And there are different state spaces which define the system. Intents define some preferences a user has over some state space of future possible execution states of the system.
-@cwgoes

Anoma the network

Anoma is an intent-based network of autonomous communities. Communities can participate in the Anoma network by running the Anoma protocol.

The current economic network and organizing paradigm restricts autonomy and limits freedom. Communities have two options: to give up autonomy for the sake of interoperability - use infrastructure, protocols, and currencies operated and controlled by someone else, and thereby participate in wider economic networks - or to give up interoperability for the sake of autonomy - opt out of the shared infrastructure and produce everything themselves. Anoma aims to offer a third way - one which preserves both autonomy and interoperability.

Network Comparison Visual

In this example you see network validators represented by dots. In Ethereum all of the validators run a consensus clients and an execution client. They have a view of the beacon chain and the EVM. All of the Validators are required to participate in global consensus. This means that applications and users always pay for global consensus.

In the Anoma network, validators do not necessarily share the same global view. The Network is composed of many fractal instances which can interoperate. These instances can be persistent or spun up at runtime.

Fractal Instances

Fractal instances are not like build your own blockchain. They are a different thing. A better way to think about fractal instances is as consensi on demand.

Currently, the typical user interaction with the blockchain is inverted. You first choose an application which will be hosted by some consensus provider, then you decide what to do. You make the choice of consensus first and action second. Fractal instances invert this, you make the choice of action first. According to the action you are taking, you decide what type of consensus to use.

For example, if you are sending some kind of payment within your organization, you only need organizational consensus. If you are sending the payment across a federated group of organizations, then you need their federated consensus. If you are sending some kind of global payment to someone across the world whom you do not trust, then maybe you need global consensus. However, we want to derive what kind of consensus you need from what you are trying to do.

Anoma the protocol

In the counterparty discovery phase, network participants examine and match compatible intents, forming transactions which enact particular state changes. Transactions then enter the settlement phase for ordering, execution, and confirmation by consensus, after which users can read the updated state.

Intent Lifecycle

Here is a representation of an intent lifecycle. We are not going to spend too much time on this, as it’s the most common discussion within the discourse related to Anoma. I refer the listener to the Anoma white paper for details.

Anoma Affordances

For applications, Anoma offers developers and users three key affordances.

Permissionless Intent Infrastructure

Anoma supports programmable intents with a general protocol. This means that developers creating new applications don’t have to worry about finding or building extra components like;

  • validators,
  • solvers,
  • indexers,
  • or any specialized infrastructure.

Developers just need to decide on intent formats and solver algorithms. Each application will likely have specific types of intents that need to be solved. Anoma provides a permissionless substrate for decentralized solving

Information Flow Control

This is done with Taiga, a cryptographic library for privacy preserving distributed applications running on Anoma. Taiga will provide private settlement with recursive zero-knowledge proofs. Private counterparty discovery is still an area of active research; including TEEs, MPC & FHE.

Intent Level Composability

All applications written for Anoma can be composed at the intent level, meaning that intents for different applications can be composed together and executed atomically, without any additional effort or prior coordination on behalf of the application developers.

Example of Intent Level Composability and Solving

Part 3. Synthesis

What?

An application is a set of resource logics (predicates) and solver algorithms

  • Resources are the atomic units of state
  • Resource_Logic specifies under which conditions Resources that carry it can be created and consumed. It is defined by its Predicate and its Arguments

Resource

data ResourceBody = ResourceBody {
  resource_logic :: ResourceLogic,
  prefix :: [ContentHash],
  suffix :: Nonce,
  quantity :: Natural,
  controller :: ByteString, TerminalDAG ExternalIdentity

This diagram aims to show how Resources decompose into their components. All Fields consist of a content hash, which provides content addressing for all elements of all layers.

The Resource management system can be implemented as a UTXO or account model, or both. That is up to the particular developers and what they want.

Novel Applications

Do we see any examples of scale-free money today or reasonable approximations? Let’s take a look at Circles Garden.

See this book:

Example; Circles Garden

The Circles Garden system architecture has multiple intermediate services to interact with the Blockchain world to overcome different limitations:

Relayer - The Relayer pays for the transaction fees on behalf of the user through meta-transactions (see ERC20 specification) to the Gnosis Chain. It pays for the Safe deployment and the gas fees for all the users of circles.garden. Therefore, the relayer can be used for controlling expenses since writing in the blockchain is always done through this service.

The main bottleneck is scalability. There is only one relayer, which means, this service oversees all the transactions for every user of circles.garden. If there are many transactions asking for payment, these get added to the queue, and worsen the user experience because this translates in longer waiting times (delays).

Circles Entropy on Anoma

Anoma is designed as a unified system, all nodes run - validators, gossip nodes, solvers, edge clients, etc. - just separate configurations to enable or disable processing, storage, signing, etc.

The Anoma node software internally handles P2P network connections, fetching & caching state, verifying signatures (e.g. of validators, running light clients), etc. - no interface should need to implement these, they should just use the local API provided by the node software package.

What else can you build?

Dominant Assurance Contracts

Some Public goods can be created privately by profit-seeking entrepreneurs.

Dominant Assurance contracts - an entrepreneur can design a contract where the equilibrium has agents contributing to produce the public good as a dominant strategy;

  • On the supply side, potential producers of public or private goods, with high upfront cost and lower marginal unit production cost, can craft proposals for what they would produce, with what required upfront cost and individual benefits (for the private/hybrid goods).

  • On the demand side, potential consumers of public or private (hybrid) goods can craft proposals for what they want to be produced, with what they would individually be willing to pay.

There is some similarity to existing concepts such as buyer’s clubs - consider, for example, a group of DIY enthusiasts grouping together to contract a Shenzhen manufacturer for a large DIY cellphone component order, or a community grouping together to contract a steward to purchase and operate a community maker space.

  • Other advantages: Some empirical analysis to make the claim that crowdfunding is indeed a signal for some types of VC investing. Hence, Public Signal.

See these papers for more details:

Time Banks

Time banks allow people to coordinate at a local scale. Individuals sign up to participate and begin “banking time” or earning “time credits” by providing their skills for someone with credits. There are a few different frameworks for time banks including the most popular neighbor to neighbor one just described, which relies on the earning and spending of time credits.

See this paper:

The End

5 Likes

In this quote, I don’t understand what you mean by solver algorithms. Can you elaborate this concept for me?

This was a great presentation, thanks for sharing @apriori. If you do presentations again in the future, I would very much appreciate similar posts as this one to keep everyone updated and informed.

For instance, the fractal instances visual and corresponding explanation was helpful.

2 Likes

Below is the video from the second attempt at this presentation in Istanbul at the good-intentions event at Devconnect 2023. Note the introduction is cut off in the video.

3 Likes