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:
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.
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:
Ethereum defines a virtual machine (EVM) that provides a Turing-complete sandbox environment for smart contracts.
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 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!).
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.
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.
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”).
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.
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:
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.
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.