Composable Cross-Chain Intents
A unified language for cross-chain extent execution that will enable the UX necessary to onboard the next billion users. Powered by IBC.
As we advance towards the mass adoption of web3 technology, it's crucial to ensure that users can navigate its complexities effortlessly. This requires a shift from the intricate technical demands of early blockchain experiences to a more intuitive user experience (UX), akin to the evolution of web2 with user-friendly tools like search engines and chatbots.
From Transactions to Intents
When interacting with a blockchain or an on-chain application,
users express their desires to accomplish specific tasks, such as token swaps on Uniswap, transferring tokens, or providing liquidity. The current, transaction-based flow in blockchain requires users to issue very specific instructions for every step of the interaction, such as approving tokens and signing transactions. This approach demands concise order and execution.
Intents represent a fundamental shift from this imperative paradigm. Unlike transactions that explicitly specify the method for performing an action, an intent focuses on the desired outcome, establishing a declarative paradigm. For instance, a transaction might state: "do A then B, pay exactly C to get X back," while an intent would express: "I want X and I'm willing to pay up to C."
To simplify the concept, consider this analogy:
A transaction is like going to a specific store (McDonald’s) to buy a specific item (Big Mac meal) for a set price. In contrast, an intent is like expressing a general desire for a burger with fries and coke zero, without specifying the source. Intents allow users to express their requirements and conditions without pinpointing the specifics of fulfillment.
From a technical standpoint, a definition I like a lot is the one by Paradigm:
“An intent is a signed set of declarative constraints which allow a user to outsource transaction creation to a third party without relinquishing full control to the transacting party”
This concept introduces significant improvements in UX and efficiency, allowing users to simply express their desired outcome and leaving the task of achieving it to sophisticated third parties, referred to as solvers.
In the standard transaction-based flow, a transaction signature enables the validator to follow a specific computational path against a particular state. In contrast, an intent does not specify a specific computational path, but rather allows for the solvers to pick any path that satisfies certain constraints.
So, when a user signs and shares an intent, they effectively grant permission to the solvers to choose a computational path on their behalf (see figure below). This distinction allows for a slightly more precise definition of intents as signed messages that permit a set of state transitions from a given starting state. A transaction is a special case of an intent that allows for a unique transition. Additionally, many intents can be included in a single transaction, allowing for matching overlapping intents, increasing gas and economic efficiency.
While the concept of intents in DeFi is promising, there isn't a universally agreed-upon definition. However, I strongly believes that:
Intents are inherently cross-domain
Blockchains are inherently trust-no-one markets
That’s a problem because different blockchain ecosystems often can’t communicate with each other, despite the growing number of interoperability solutions that aim to address this.
There is thus a huge amount of potential loss due to lack of synchronicity between these markets. The key issue is that currently, there is no credibly verifiable way to settle orders between chains, and settle them at the same time.
Composable recognizes this inherent cross-domain nature of intents & the fundamentally trustless nature of blockchains and the resulting inefficiencies that need to be addressed.
In combination with a (trust-minimized) message passing solution like IBC and a standardized, chain-agnostic settlement framework, intents can revolutionize UX and cross-chain composability in a multi-chain future. To streamline this process, Composable is building MANTIS.
MANTIS - The Future of Cross-Chain Intents
Users should be able to specify what they want to achieve, without worrying about how to achieve it. Enter MANTIS, a.k.a. Multi-chain Agnostic Normalized Transaction Intent Settlement, which enables use cases like:
Interchain CowSwap: Compute routes for multiple types of solutions including CoWs, CFMMs, & market maker liquidity.
Multi-domain auctions: Credible commitments and decentralized block-building.
Settlement over IBC: The Composable VM allows for the completion of intentions on different execution environments.
The MANTIS framework will be based on Composable’s Cosmos chain and is comprised of several key components:
Solvers in the CVM: In the Composable Virtual Machine (CVM), solvers take in data about users’ transactions, develop solutions, and are incentivized for their efforts. This enables a broad array of novel application designs. This includes RFQ (request for quotation) DEXes, or improved CFMM (Constant Function Market Maker) routing. A Request for Quote (RFQ) is a business process in which a customer requests a quote from a market maker to purchase tokens. Another use case is Coincidence of Wants (a situation in which two users each have something that the other desires, a.k.a. CoW). Liquidity is maximized by identifying a CoW and utilizing all available sources of on-chain liquidity. Unlike traditional trading protocols, the CoW Protocol has solvers that compete to offer users the most efficient execution of their intents.
Cross-Domain Communication via IBC: Utilizes the Inter-Blockchain Communication protocol to enable efficient cross-chain intent settlement, connecting diverse blockchain ecosystems like Polkadot, Kusama, Cosmos, Solana, and Ethereum.
Multi-Domain Auctions: User intents are scored based on volume cleared, with solutions screened for maximum extractable value (MEV) and bundled into a block for each domain.
Language for Execution: When the best solution is found, it is turned into a CVM program, specifying the execution route.
Verifiable Settlement: Ensures that transactions resolving intents are verifiable and partial block aware to improve cross-domain censorship resistance.
By leveraging IBC as a trust-minimzed cross-chain messaging solution and by using a generalized framework for chain-agnostic intent execution through the CVM deployed across multiple ecosystems, which allows for this standard language of intents to be interpreted on multiple different chains. Users just a desired state of the world, while the best route to get there is automatically picked for them by solvers across ecosystems and applications.
However, it is important for the ecosystems involved, how these transactions are actually processed. That’s why Composable is also working on a decentralized block builder.
Let’s have a closer look at how that works:
1️⃣ User intents are expressed at wallet level.
2️⃣ The user intents are solved and executed as the corresponding transactions.
3️⃣ Transactions that need to occur on different chains are bundled into blocks.
4️⃣ These blocks are then exposed to searchers, with an auction taking place on the Composable Cosmos chain. They are expressing themselves and tipping via an orderflow auction (OFA).
5️⃣ Subsequently, the bundles are sent to respective ecosystems, so that they can be processed according to logic of the corresponding chain.
All the cross-chain messaging happens via IBC with settlement on the Composable Cosmos chain, optimized for facilitating order flow processing.
I find this architecture highly interesting. The combination of IBC and MANTIS enables seamless order flow processing, distribution to many ecosystems and allows us to abstract a lot of complexity from the user experience. Integrating this kind of chain-agnostic intent settlement technology directly into smart wallets where users express intents through text or voice that are subsequently picked up by AI-powered solvers, is the future of Web3 UX!
This architecture is exactly what we need to enable a user experience that is ready for mass adoption. A UX that can power the on-chain Robinhoods of the Web3 world, all powered by orderflow abstraction and cross-chain intent settlement via IBC!
That is also why the expansion of IBC beyond the Cosmos to ecosystems like Ethereum, Near, Polkadot or Solana is of paramount importance. The complexity of all the different chains on the backend has to be abstracted away for the user. Users should not have to care about what chain they are on or what DEX their order is executed on. IBC can be that abstraction layer and makes this unified backend of interoperable chains that feel like a unified ecosystem to the user possible.
I have covered Composable’s work on expanding IBC in my blog post last week. Check it out to learn how Composable brings IBC to Ethereum & L2s!
https://zkmedia.substack.com/p/composable-ibc-enabling-an-interconnected
The Composable Virtual Machine (CVM)
The Composable Virtual Machine (CVM) plays a central role in facilitating cross-chain operations. Unlike existing blockchain virtual machines the CVM does not force applications and smart contracts to be deployed onto one particular chain. Instead, the CVM provides a novel opportunity for applications to be natively cross-chain. This unique feature enables a top-down approach to interoperability, simplifying cross-chain asset management for users and providing developers with native support for diverse liquidity markets and bridges.
User and Developer Benefits
For Users: The CVM streamlines experiences, abstracting away complexities, while ensuring non-custodial asset ownership at every step.
For Developers: By providing a unified language for cross-chain intent execution, it offers an orchestration framework for cross-chain communication, allowing developers to focus on their dApp’s core functionalities without worrying about the intricate technicalities of inter-chain transactions.
In summary, user transactions and intents require a language for execution across diverse environments or ecosystems. The CVM is the fundamental building block that empowers the Inter-Blockchain Communication (IBC) Protocol to fulfill this requirement.
For instance, the CVM facilitates the transfer of Polkadot's DOT token to Osmosis, the swap of DOT to ETH, the movement of ETH to Ethereum, the exchange of ETH to USDC, and the transfer of funds to Composable's Cosmos chain. All of this happens within a single user-signed transaction, expressed in simple English.
The significance of a unified language for intent settlement across chains can’t be understated. Carrying out cross-chain swaps is just one of the many possible operations.
But how does this work under the hood? Here is the logical state of the CVM:
Each user (wallet) has an executor (CVM account) on every chain, which is instantiated as needed. The CVM account assigns a CVM contract to bridge assets and execute actions on behalf of the user across different chains. The CVM is indifferent to the specific bridge, offering full capabilities when the target chain permits permissionless contracts and general message passing. However, it also provides limited shortcuts when custom code is not allowed and only a subset of target cross-chain operations are feasible. The CVM is deployed on various hosts, each with different capabilities. It manages these differences without altering program semantics.
The final component is Composable's Virtual Wallet. This wallet enables users to manage funds across multiple networks using a single native account on a designated chain, referred to as the "wallet" chain. It's worth noting though, that the virtual wallet is not an independent contract. Instead, it utilizes the CVM and MANTIS (as introduced above) to allow smooth handling of user intents across different blockchain domains, requiring only one signature from the user.
Conclusion
In conclusion, I strongly believe that an intent-centric UX will be a key enabler of wide-spread adoption of Web3 applications. Today’s user experience is akin to the internet in its very early days and is too fragmented across ecosystems. Especially as a multi-chain future becomes a more tangible reality by the day, it is very important that we find a way to maintain composability and abstract the backend complexity that comes with segregated (app-specific) execution layers. The IBC-powered intent settlement infrastructure Composable is building, will be a key piece of the puzzle to make this a reality. Unifying the UX across chains and providing standardized framework for intent execution, Composable provides the technological backend that will allow smart wallets to become smart gateways for user intent expression. Intents, expressed in plain English, that will be executed seamlessly across networks and applications through Composable’s unified language for intent settlement.
That’s a wrap for today! Stay tuned for my third and final deep dive into Composable’s interoperability architecture, where I will explore the importance of the decentralized block building layer, especially in the context of shared sequencing for modular rollups!