Anoma is a proposed unified architecture that aims to provide developers with a full-stack solution for building complex decentralized applications. The platform integrates key functionality like counterparty discovery and aims to remove the need for developers to rely on external services that may introduce tradeoffs or complications. Anoma believes that its approach will allow for the development of more cohesive, secure and reliable decentralized apps. --- ### Motivation/Design Rationale - Programmable settlement systems (ie: Ethereum) can be sufficient for certain use cases where the details of the transaction (what and with whom) have already been decided. - Many of the apps being built today have more complex requirements, such as counterparty discovery, that require the use of off-chain resources. These resources can be centralized or decentralized, but both have drawbacks: 1. *Centralized middleware:* - Many decentralized apps rely on centralized components to fulfill certain functions. As first-hand examples, Connext used a centralized messaging service for inter-router communication, and Nomad used centralized sequencers and watcher nodes run by the team. In both cases, the goal was to eventually decentralize these components. While the teams were genuinely committed to decentralization, using centralization was necessary in the short term to break down their problem into manageable parts. - This reliance on centralized components can create a single point of failure, where the security and reliability of the application is only as strong as its weakest link. 2. *Decentralized middleware:* - Instead, each centralized component can be replaced with a decentralized, app-specific blockchain one-by-one until full decentralization is reached. However, this approach can introduce new problems, such as loss of network effects and composability, and significantly increased complexity with regards to security, privacy, and latency. - Even decentralized dependencies can fail in ways beyond your control. For example, a security vulnerability or botched upgrade could halt an app-specific blockchain. Anoma aims to provide a full-stack decentralized solution that vertically integrates key functionality like counterparty discovery. This allows developers to build complex use cases natively, without relying on piecing together external services that may introduce additional tradeoffs or complications. - *Vertical Integration:* - The level of vertical integration refers to the extent to which a company produces its own components, as opposed to sourcing them from external suppliers. For example, Samsung smartphones have high vertical integration because Samsung manufactures most components, such as the processor, NAND, display, etc. in-house. In contrast, Motorola doesn't have comparable manufacturing capabilities and needs to source many components from other companies, such as Qualcomm or even Samsung themselves. The level of vertical integration affects how much control a company has over the design and production of its products. - In the context of app development, vertical integration refers to how often developers will have to rely on external components because the base layer does not provide the full set of tools they need. - As a developer, each time you introduce an external dependency, you lose some control over your product's resilience, capabilities, and independence. Even decentralized dependencies can fail in ways beyond your control. By using external dependencies, you may be sacrificing some of the qualities that make your product strong and reliable. **Section Summary:** - The blockchain protocols that have been developed since Ethereum's release have made improvements to certain components, such as consensus mechanisms and scaling solutions. However, these improvements do not change the fundamental architecture of programmable settlement, which is not enough for many contemporary applications. As a result, existing applications often rely on external components, which can compromise important features like permissionlessness, fault-tolerance, censorship-resistance, or privacy. - Anoma is a proposed unified architecture for full-stack decentralized applications that aims to address these issues without sacrificing these important features. - The novel architecture of Anoma enables complex apps to achieve a level of cohesiveness that has not previously been possible. **Why is Anoma of interest to...?** - Users: - Can use fully private shielded swaps and atomic multi-chain swaps natively - More streamlined and cohesive user experiences - Simpler trust and privacy models - Fewer external points of failure, leading to higher reliability and uptime - Developers: - Have more control over performance, capabilities, and sovereignty of their own product - Can simplify development and have fewer design constraints - Able to deliver on the promise of decentralization - Reduced need to operate external infrastructure and pay external service providers, leading to lower operating costs - Validators: - (Namada) Early opportunity to gain network stake - (Namada) Based on modified Tendermint consensus, providing an easy learning curve - (Namada) Modifications to Tendermint will address current pain points for Cosmos validators, such as key rotation - High optimism about the project's success due to an experienced and well-funded team with a multi-chain background that has shipped multiple products; compelling value propositions to attract developers and users. --- ### Intents - Intents are at the core of the Anoma protocol. They are expressions of what a user wants to achieve when interacting with the protocol, and this makes Anoma different from existing protocols that are centered around transactions. - The use of intents allows for counterparty discovery, which is essential for multiparty coordination in applications. Intents are the key innovation that allows Anoma to natively integrate counterparty discovery, solving, and settlement. - Intents offer a declarative paradigm for building applications, rather than the imperative approach that is currently widespread. Declarative approaches offer a higher level of abstraction and have several advantages for both users and developers: - *users:* greater accessibility and easier reasoning about trust and privacy because they are freed from having to understand technical details of implementation. This, in turn, gives users greater control because they are able to reach their own conclusions instead of relying on experts. - *developers:* can more easily and confidently build secure applications because they are freed from worrying about how other applications interact with their own. **What is an Intent?** - An intent is an expression of a user's desired outcome, such as "transfer X from A to B" or "trade X for Y". - In Anoma, intents are fully programmable and are represented as off-chain signed messages that encode the state transitions a user wants to achieve. - An intent is just one part of a fully formed transaction, not the entire transaction itself. **Section Summary:** - The use of intents in Anoma offers a number of benefits, including greater control and accessibility for users, as well as easier and more confident application development for developers. The team believes that the lower barrier to entry and security advantages could be significant enough to drive new adoption of decentralized applications. --- ### Homogenous Architecture/Heterogenous Security - The Anoma protocol, like TCP/IP, is based on combining a standardized architecture with user-controlled security. - Protocol layers and behavior are standardized, but deployments can choose their trust assumptions (whom to connect with and what data to trust them with). ***Architecture*** - Homogenous architecture requires all applications to be written in the same format. - Advantage: standardization and network effects for developers and users - Heterogenous architecture allows applications to be written in different formats. - Advantage: fewer design restrictions for developers. - Contrast Anoma (homogenous) and Cosmos (heterogenous): - Anoma deployments must follow strict specifications. They are natively interoperable because they are assumed to "speak the same language" - Cosmos chains can have very different architecture from each other. They are not assumed to be interoperable. They require agreement (at least) at the edges to interact (eg: IBC) ***Security*** - Security model includes both "theory" (trust assumptions, consensus model, etc.) and "actual" (who you are interacting with on a specific deployment). - Homogenous security model dictates the same security for all applications - Advantage: less effort to learn new security models for each deployment - Heterogenous security model allows different security characteristics for different applications - Advantage: greater freedom in deciding who to interact with and how ***Section Summary:*** - Anoma's architecture is homogenous and its security model is heterogenous. - Fractal instances are required to follow a standardized architecture but are free to choose differing security models. - Anoma has intentionally decoupled these so that instances can choose trust assumptions that best suit them while still benefiting from seamless interoperability and network effects.