We want to thank our cross-chain experts José Maria Macedo from Delphi Digital, Philipp Zentner and the LI.FI team for their invaluable expertise and assistance throughout all aspects of our research and for their feedback on our research.
The Next Generation of dApps: Native cross-chain applications:
Native cross-chain applications are the future of web3 dApps. Just as algae developed into colonies to leverage collective strength, or as animals developed specialized organs for new functionality, going cross-chain is a step change in the evolution of dApps. Compared to single-chain dApps, we have identified 3 main advantages that apply across the archetypes of cross-chain products:
- Aggregates the fragmentation of assets across different chains by aggregating the fragmented liquidity on different chains into one chain or a coordinated pool of assets. Cross-chain applications can unlock new levels of capital efficiency through this mechanism
- Enables the localization and customization of parameters and feature sets of the same application on different chains to improve the user experience
- Unlocks additional functionality to dApps by taking advantage of multiple blockchains simultaneously. Cross-chain apps can tap into the security and strong community of ETH, develop sovereign chains on Cosmos connected through IBC, or utilize fast and cheap transactions of SOL while making it feel like interacting with a single-chain app for its users.
Based on our research, we are proposing a new way of categorizing the different types of current and future cross-chain products. The three categories are:
- Distributed apps: Same function or contract is replicated and localized on multiple chains, coordinated by cross-chain message passing
- Aggregated apps: Assets or contracts are aggregated into one chain for a specific function, optimized by specialized features on the aggregator chain
- Unbundled apps: Different functions are executed on different chains to utilize the strengths of each blockchain
Distributed applications utilize the asset-bridging and message-passing functionality of cross-chain infrastructure to coordinate liquidity and functionality in the application’s deployments across different chains.
Direct chain-to-chain model
The first versions of distributed applications utilize point-to-point communications between different chains to coordinate liquidity pools and transactions. Current iterations of these distributed point-to-point applications are liquidity networks like Hop Protocol and Stargate, and bridge aggregators like LI.FI and Socket.
Liquidity networks like Layerzero’s Stargate and Hop protocol are distributed applications that utilize point-to-point (chain-to-chain) message passing to coordinate token transfers between separate liquidity pools on separate chains. Stargate utilizes the message passing functionality of the Layerzero lightweight clients and oracles to enable bridging of native tokens between supported chains; while Hop protocol facilitates native token swaps across EVM chains, and in particular, Ethereum and its L2s, Arbitrum and Optimism, using node operators who front liquidity and execute transactions. In both protocols, liquidity exists separately on different chains but message passing enables the bridging of assets by releasing assets on the destination chain as soon as the user deposits assets on the source chain, all without minting bridged tokens.
Bridge Aggregators like LI.FI and Socket perform the same asset bridging functionality as liquidity networks but instead of utilizing their own liquidity pools and bridging infrastructure, they aggregate multiple existing cross-chain bridges and DEXes to perform their transactions. Bridge Aggregators have smart contracts on every supported chain which are triggered by an off-chain routing engine that figures out the best route and executes transactions on existing protocols. These aggregators help create a more seamless experience for developers and users who wish to perform more complex (Any token to another token on another chain) cross-chain transactions without having to choose from a large number of bridges and DEXes to transact with.
Although the current chain-to-chain distributed applications enable essential cross-chain functions or bridging, they still suffer from the inefficiencies of isolated liquidity pools since any liquidity imbalance created by user transactions will have to be rebalanced by the protocols which typically rely on incentivizing users/arbitrageurs to rebalance the liquidity.
Hub and Outpost model
The future implementation of distributed cross-chain applications will utilize a hub and outpost model where a hub chain will coordinate the functionality and liquidity of the deployments on other chains. Future applications that use this model will have more advanced functionality such as cross-chain lending and DEXes.There are several interesting projects in development, especially in the Cosmos ecosystem, which was built with interoperability in mind.
Mars protocol, an upcoming Cosmos cross-chain lending protocol, is ultimately designed to service multiple chains simultaneously and allow collateral posted on separate chains to be combined into a single position with a single liquidation point for all chains. The Mars hub chain will not hold liquidity but will manage all liquidity, smart contracts, and fees on the “outpost” chains. However, for its first outposts on chains like Osmosis, each chain will be a separate credit account with separate conservative liquidation thresholds to factor in the additional latency from cross-chain communications.
Delphi has published a vision of a native cross-chain DEX called SLAMM (Shared liquidity AMM), which was inspired by the dAMM design from Loopring/Starkware. The SLAMM would coordinate liquidity across different chains using cross-chain messaging functionality from a single hub chain. The SLAMM acts as a virtual “supply side aggregator”, like 1inch for liquidity providers, and effectively tries to predict trading volume across-chains to redirect liquidity where needed to optimize returns for LPs.
Pros and cons of distributed apps
- Easiest to design and achieve for existing apps that have deployments on multiple chains already
- This can allow the different deployments across multiple chains to be localized and customized for each chain
- Create an omnichain experience that presents a UI that feels like interacting with a single local chain and allows users to access the application no matter which chains the users are on
- Distributed applications need to find ways to rate limit transfers and isolate each chain to prevent an attack from draining all the liquidity across different chains
- Hub and outpost applications also need to prioritize the security of the hub chain since it has access to all the outposts on other chains
We see distributed applications as the simplest category of cross-chain application to build since many applications are already live on multiple chains. Distributed applications are the first step in the natural evolution of applications, from single chain applications to cross-chain applications, as developers look to add features, improve capital efficiency, and simplify the user experience for their siloed multi-chain applications.
We have mostly seen DeFi use cases for the first generation of distributed applications, even though there are many applications in other verticals of web3 deployed on multiple chains, such as NFT collections, games, and metaverses, all of which could benefit from cross-chain coordination. Instead of coordinating token liquidity for DeFi applications, cross-chain web3 games or metaverses could have game asset NFTs across multiple blockchains working seamlessly together in the same game or metaverse.
Aggregated applications pool liquidity (tokens or NFTs) or other functionality like privacy and identity from different projects or deployments onto one blockchain and take advantage of the specialized functionality of an app chain with customized validators, consensus, and SDKs. Therefore, aggregated applications can also be thought of as specialized app chains.
We have identified several app chains that are live today that aspire to be aggregator applications by providing specialized functionality and services, such as deep token liquidity, privacy, and NFTs for other cross-chain applications.
Osmosis is the most popular app chain DEX in Cosmos, has $180M in TVL as of Jan 2023, and executed over $17B in trading volume across 100+ tokens and liquidity pools, making it the chain with the deepest liquidity for trading Cosmos ecosystem tokens. Osmosis is designed from the ground up to support token trading via its highly customizable AMM infrastructure. Osmosis includes SDKs for developers to set up highly customizable liquidity pools and its validator set supports advanced features, such as superfluid staking (which enables tokens in liquidity pools to be simultaneously used to secure the network), and built-in MEV features such as its upcoming integration with Skip protocol to capture and distribute MEV revenue to stakers. Currently, Osmosis functions as a standalone app chain and DEX on Cosmos since users who wish to trade tokens or provide liquidity have to deposit assets to Osmosis via IBC (Inter Blockchain Communication). However, in the future Osmosis has plans to become the de facto chain for handling token swaps for other chains in Cosmos by introducing cross-chain swaps via Osmosis Outposts, using IBC and ICA (Interchain Accounts, expected to go live in Cosmos in Q1 2023). Using this system, users on other chains in Cosmos will be able to tap into Osmosis liquidity and make swaps on Osmosis without leaving their chain.
Aztec is a rollup on Ethereum that enables privacy for transactions and is a unique cross-chain use case outside of the normally common DeFi and liquidity use cases that most cross-chain projects today are trying to solve. Aztec uses zk-snarks to bundle and submit transactions onto Ethereum L1 to encrypt the transactions and save on gas costs. Aztec already acts as an outsource center aggregator app to enable privacy on Ethereum since developers can utilize tools built on Aztec, such as Aztec Connect and zk.money, a private transfer protocol, and VPN-like privacy tool, to permissionlessly integrate Aztec’s privacy and cost savings into their applications. Users can already enjoy privacy on some of the most popular apps on Ethereum like AAVE, Euler, Yearn, and Lido, through zk.money.
Pros and cons of aggregated apps
- Maintain atomic composability since all assets are in one chain and transactions do not need to wait for confirmation from another chain to be executed. This is necessary for complex bundled transactions or related functions (e.g. liquidating collateral from lending and swapping on DEX instantly)
- Develop specialized features by customizing the blockchain architecture
- Can be developer friendly since the aggregator chain can create use case-specific APIs and SDKs designed to be used by multiple teams and projects building on their chain
- Since the aggregator chain is only designed to be very good at a particular function or asset, it can be inflexible for development outside the intended functionality (E.g Most specialized chains will not support general smart contract functionality)
Current aggregated apps mostly function as independent, isolated app chains because most applications today are not built to have cross-chain functionality. However, we ultimately believe that aggregator applications will be used as outsource centers for specialized features by other apps as cross-chain infrastructure matures; the resulting cross-chain application formed by the app and aggregated app will become an unbundled application.
We also foresee other interesting use cases for aggregator app chains, such as consolidating DeFi applications into a specialized DeFi chain, for example, Sei Network; or cross-chain identity consolidated onto one chain for reference from other chains; or future web3 games and metaverses which host all their NFT assets and abstracted user accounts on a dedicated gaming aggregator chain, to unlock new levels of performance, interoperability, and customization.
Unbundled applications are currently the least common category of cross-chain products. Unbundled applications have separate modules with different functionality on multiple blockchains, with each module taking advantage of the strengths of each blockchain and communicating with other modules via cross-chain communications to add more advanced functionality to the overall product.
An application that outsources specialized functionality to a cross-chain aggregator application automatically becomes an unbundled application. However, the unbundled application does not necessarily have to have an app chain to become unbundled. An unbundled application could simply deploy across different blockchains as well.
For example, an application could have separate modules on
- Ethereum to access the deepest liquidity for tokens and NFTs with the greatest security
- Polygon for cheap and fast transactions
- Cosmos for sovereign blockchains which are highly customizable
One example is Sommelier, which is a native cross-chain yield generation platform that manages the creation and calculation of yield strategies on a sovereign Cosmos chain, which are executed on Ethereum DeFi liquidity. Sommelier is an unbundled application because it has a dedicated Cosmos Sommelier chain with highly specialized architecture that functions as the “co-processor” to actively manage liquidity positions on other chains like Ethereum. The co-processor Cosmos chain is set up to receive yield calculations off-chain and utilizes its specialized set of validators to host strategies, execute transactions and pay for gas in addition to validating transactions.
We also see the possibility of unbundled applications which have components on both L1 and L2s. For current applications like Lido to launch on L2s, assets have to be bridged from L1 to L2 by locking/minting assets on smart contracts. This limits the composability of applications across L1 and L2 since there are no cross-chain communications and the liquidity is fragmented. We foresee future applications which have their calculations and execution happen on L2 while utilizing cross-chain communications to control assets on L1.
Pros and cons of unbundled apps
- High flexibility and customizability for developers who do not want to compromise on the limitations of one chain
- Unlock powerful new functionality for applications by taking the best features of multiple chains
- The most complex form of cross-chain applications require a paradigm shift in web3 application design for modular asynchronous functionality
Unbundled applications will start to flourish as aggregator chains start to become integrated into cross-chain applications as outsource centers. We also envision the next generation of unbundled applications to create exciting new applications for other web3 verticals like NFTs, games, and metaverses.
A few out-of-the-box ideas for unbundled cross-chain applications could be:
- applications that enable privacy for NFTs bought on Ethereum by routing the transactions through a privacy chain or rollup like Secret Network or Aztec
- Games or metaverses could keep their game logic on a chain with high throughput like Solana, integrate NFTs assets from other chains like Ethereum, and add account abstraction features for its users from Starkware
Ultimate vision of a fully cross-chain product
Ultimately, in the future users will not have to think about interacting with multiple blockchains since new cross-chain products will completely abstract away the cross-chain experience from the user while delivering powerful new features enabled by integrating multiple blockchains. We also believe every on-chain asset and interaction will be designed to be interoperable once significant adoption takes place on multiple blockchain ecosystems.
However, for now, the three categories of cross-chain products are quite differentiated from each other since the cross-chain product category is still very nascent in web3. In the future, we imagine cross-chain products to be hybrids of the categories that we have highlighted above.
What could that look like? Applications in the future can choose to simultaneously outsource functionality to aggregated specialty app chains while having assets distributed on multiple chains, coordinated by a hub chain. For example, a DEX that has outposts on multiple chains for localized UX, where liquidity is coordinated by a hub chain for capital efficiency, and posts timestamps onto the Bitcoin blockchain for security.
We are still early in the cross-chain dApps generation. Most cross-chain applications today are also mostly targeting DeFi and liquidity use cases. Let’s look beyond. For example, Web3 governance, proposals, and voting mostly only happen on one chain and could benefit from enabling cross-chain features, such as distributed voting across multiple chains or cross-chain execution of governance decisions. We are already seeing major protocols like AAVE use cross-chain messaging to execute governance decisions made on Ethereum to their deployments on other chains like Polygon and Optimism via cross-chain messaging. Account abstraction and Web3 identity are also potential areas. For example, a smart contract wallet could aggregate a user’s identity and wallet addresses to sign transactions across EVM, Cosmos or any other chain, combined with cross-chain account recovery, to greatly simplify the cross-chain user experience.
If blockchains are cities, then we have been building primitive clusters of self-sustaining villages. It is time to unleash global trade, global supply chains, and multinational corporations. To build an exponential Web3 economy, it is time to go cross-chain.