paint-brush
Omnichain dApps: a new crypto primitiveby@zetachain
1,660 reads
1,660 reads

Omnichain dApps: a new crypto primitive

by ZetaChainApril 18th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Omnichain dApps span all chains and allow for seamless transactions among them. The new primitive enables developers to bring novel architectures to new and existing apps and provides a greatly simplified user experience.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Omnichain dApps: a new crypto primitive
ZetaChain HackerNoon profile picture

Setting the stage

Web3 is full of technical jargon, and it’s no different in the blockchain and interoperability space. For the purpose of this article, we define the following here:


  • Multichain: describes many chains, whether or not communication or a transaction occurs among them. The “Multichain Thesis” posits that there is a place for multiple chains in the world, as opposed to the maximalist position, which suggests one single chain is all we need.
  • Cross-chain: describes the passing of value, messages, and data across blockchains. Several programming mechanisms are used to support cross-blockchain solutions including side-chains, relays, notary schemes, hash time-lock contracts, and blockchain of blockchains. Bridging is one of the most widely used strategies, however, the approach makes users susceptible to significant exploits.
  • Omnichain: “Omni” means of all things so, in this context, omnichain describes something that spans multiple and/or all chains and functions across those chains seamlessly. Accordingly, an ‘omnichain dApp’ or ‘odApp’ has access to and can manage assets and data on any or all connected networks (more on this down below 👇).

Evolution of blockchain capabilities

In this section, we’ll briefly walk through the new primitives each blockchain pioneer introduces and the current state of today’s multichain ecosystem. Reference figure 1 below.


Bitcoin was the original decentralized cryptocurrency, pioneering blockchain, a decentralized and permissionless public ledger built on cryptography. Key innovations in Bitcoin include the use of elliptic curve digital signatures algorithm (ECDSA) for self-custody of funds, and the use of Proof-of-Work to reach distributed consensus and maintain resistance against sybil attacks. Bitcoin also introduces the first major application of blockchain technology as a p2p cryptocurrency. While limited in the form of scripting it supports, Bitcoin can power a few simple (but fundamentally very useful applications) such as multi-sig and atomic swaps. Even though Bitcoin does not provide the same level of functionality as other networks, it has become the most secure, decentralized, and stable store of value.


Figure 1


Ethereum was later born to extend the scope of blockchain to support Turing-complete programmability. Borrowing the Proof-of-Work consensus mechanism from Bitcoin, Ethereum introduces several important innovations that make it a public programmable blockchain:


  1. Ethereum defines a virtual machine (EVM) that provides a Turing-complete sandbox environment for smart contracts.

  2. Ethereum utilizes an account-based system including External Owned Accounts (EOA), which are controlled by a private key, and smart contracts, which work according to their own logic.


“The availability of smart contracts makes Ethereum the most widely used blockchain to deploy dApps ranging from exchanges and financial derivatives to NFTs and games.” ~ Head of Product at ZetaChain


In recent years, we’ve seen a proliferation of new L1 blockchains such as Polkadot, Solana, Avalanche, and Cosmos, all of which support nearly Turing-complete smart contracts. Each provides tradeoffs in the blockchain trilemma. Despite greater optionality made possible by multichain, users are left with highly fragmented apps across which they are unable to easily move liquidity. This is because blockchains are inherently closed by design, and it’s complicated for developers to deploy and maintain apps across them. Current workarounds for inter-blockchain connectivity generally require the adoption of complicated, restricted, and/or less secure bridges to join. Bridges and wrapped assets have varying or centralized trust models, something we write about in this ZetaEducation Tweet thread.

The emergence of the Omnichain dApp primitive

The classic definition of a dApp is a set of contracts, potentially paired with a single frontend, but that’s changing. dApps can be as narrow as simple utilities or as large as complex organizations and enterprises. We must broaden our conceptions of what a dApp is and how one is constructed. In this section, we review the difference between traditional dApp and odApp building.

Early attempts at making an app span across multiple chains arose with the recent explosion of new L1s and L2s. Generally, the same contracts are deployed on multiple chains and then a frontend is created that connects to each network’s respective contracts (Figure 2). While you see this approach makes different networks available, neither the user’s wallet(s), the contracts, nor the network truly span across chains. The experience approximates something like having an app where a user has four log-ins (or however many wallets they have!).


Figure 2: Uniswap interface 2022


The diagram in figure 3 below illustrates this type of siloed application-building model. The four columns demonstrate how users are confined to a respective network and unable to use the app across their wallets. While users find value in using an app to transact value on a single network, they run into hurdles when jumping over to other networks. The resulting user experience is confusing and fraught with friction.


Figure 3: siloed application-building model


Now, let’s discuss the development model for odApps. As defined earlier, an odApp is a decentralized application that spans all or any set of chains and can transact between those chains seamlessly. The diagram in figure 4 below is a visualization of an odApp structure. You’ll see a user interacts with a single frontend that connects to any desired wallet. With ZetaChain’s omnichain smart contract platform, you can deploy a single smart contract on ZetaChain, which can orchestrate whatever logic an app needs. Transactions to and from different networks occur in a single step. In this scenario, all underlying functionality of the odApp truly spans across chains and creates a more seamless, unified user experience.


Figure 4: omnichain application-building model A


Note, developers are not bound to the dApp construction model depicted above; they can also deploy contracts to individual networks that pass messages between them in order to achieve cross-chain functionality (Figure 5). Even with multiple contracts deployed on connected chains, users interact with the app as if their assets live on a single plane (i.e. the ZetaChain “metalayer”).


Figure 5: omnichain application-building model B


The resulting fluidity of assets and data among chains not only brings a step-wise improvement in overall user experience, but also capital efficiency. Rather than have liquidity or assets siloed into certain chains, users can move assets at their discretion and take advantage of various financial opportunities across the entire ecosystem.

Our message to developers

The combination of omnichain smart contracts and messaging capability supported by ZetaChain enables huge potential in applications — the flexibility of deploying wherever you want as you please, and the power to keep core logic in a single, trustless environment (i. e. ZetaChain). We believe fewer constraints will free developers to create novel architectures for existing and new use cases. You’ll find dApp examples in our latest Sparta Documentation Release (devnet environment). Here are some more ideas to get you started:


  1. Omnichain DAO tooling: While DAOs take many forms nowadays, they are by and large constrained to single chains. With ZetaChain, DAO tooling such as voting, asset management/custody, membership, etc., can happen across chains fluidly, unlocking the next evolution of DAOs.
  2. Cross-chain AMM Exchanges: An AMM DEX on ZetaChain via message passing and native ZetaChain smart contracts.
  3. Omnichain NFTs: Pervasive applications of NFTs in art, gaming, event tickets, etc. create a provenance challenge when transferring from one chain to another. ZetaChain smart contracts can facilitate cross-chain ownership transfers of NFTs.
  4. Cross-chain lending and borrowing: Enabling the ability to lend or post collateral on one chain and borrow on a different one in a single step. This sort of interaction could be a basic building block for many omnichain DeFi applications.
  5. Omnichain Identity: A way for people to maintain a unified identity that encompasses wallets across chains and layers. One could more easily manage his assets, memberships, and transactions among different networks.
  6. Smart Contract Managed External Assets: Particularly, ZetaChain smart contracts that manage non-smart contract capable blockchains such as Bitcoin, Dogecoin, Monero, etc.

Join our community of builders

Visit our docs at docs.zetachain.com and start building odApps. Join our Discord to get access to the DEVELOPMENT ZONE channels. Here, you’ll be able to collaborate with early odApp builders in #protocol and get technical feedback from the team in #dev-support. Follow ZetaChain on Twitter @zetablockchain and join the conversation on Telegram.

About ZetaChain

ZetaChain is the foundational layer to a multichain future. The novel blockchain enables multichain functionality without using bridges or wrapped tokens and the easy deployment of omnichain-dApps, or odApps. These applications can manage and connect data and value across all smart contract platforms as well as non-smart contract platforms like Bitcoin and Dogecoin.