# $A^2$ Presentation
# Anoma Applications

Good morning, my name is Apriori, its 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.
## Talk Overview

In this talks 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 a synthesis of the current working specs, conversations, and ideas from the research forums.
# Part 1. What is an application?

## Definition

Applications may be bundled with the computer and its system software or published separately and may be coded as proprietary, open-source or projects.
The term "app" often refers to applications for mobile devices such as phones.
## 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 marketshare of the categories they compete in.
## Limitations of web 2 applications

Some Drawbacks include high switching costs, little to no privacy, censorship. One question may arise; given these drawbacks, what motivates or keeps users "locked-in"?
## Affordances

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.
## Web 3 Applications

With some context lets 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. What is Anoma?

There are many misconceptions about Anoma. Today, I'm going to create some more.
## Part 2 Outline

Now that we're warmed up I'm going to talk about Intents first. Next we will discuss Anoma, the network, the protocol and its affordances.
## What are intents?

Recently There has been much conversation in the community with respect to the term intents. What are intents?
- An _intent_ is a message sent by a user describing a preferred state of the system
- Intents allow users to express what they want without having to care about the execution path
- Take a Swap & Bridge transaction for Example
- TX - Approve -> Swap -> Configure wallet -> Approve -> Bridge
- Intent - I want 10 Cat coins on Chain B for the balance in my account
## 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.
## Anoma Network Concrete 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 its the most common discussion within the discourse related to Anoma. I refer the listener to the Anoma white paper for explicit details
## Anoma Affordances

For applications, Anoma offers developers and usersthree 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.
See this awesome blogpost "[Privacy In tents](https://research.anoma.net/t/privacy-in-tents-a-discussion-of-private-solving-strategies/283?u=apriori)" for more details
## 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.
## 23 Example of Intent Level Composability and Solving

# Part 3. Synthesis

## What is an Anoma Application?

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`
## Resources

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 UBI
## 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 scalabitily. There is only one relayer, which means, this service is in charge of all the transactions for every user of circles.garden. If there is a large number of transactions asking for payment, these get added to the queue, and worsening the user experience because these 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 makerspace.
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 the paper Paper: New Technology Assessment in Entrepreneurial Financing - Can Crowdfunding Predict Venture Capital Investments? Kaminski, Hopp†, Tykvova, 2018
## 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 describe which relies on the earning and spending of time credits.
## Conclusion

## Contribute

Contribute and learn more via the research forums & blog.