Introducing Omnichain Accounts

Written by zetachain | Published 2022/04/29
Tech Story Tags: web3 | oct_network | web3-writing-contest | multichain | smart-contracts | omnichain | good-company | cryptocurrency

TLDROmnichain Accounts can manage funds and data across any blockchain. The feature enables cold-wallet-level security with hot-level-wallet functionality and effectively adds a smart contract layer on non-smart contract platforms such as Bitcoin.via the TL;DR App

A powerful feature of smart contracts is that they can hold any assets like a normal account and receive and spend those assets according to programmed logic. The problem with some important blockchains such as Bitcoin, Dogecoin, Monero, and others, is that they do not have a level of general smart contract capability to support useful applications including AMM exchanges, collateralized borrowing/lending markets with pools, and other dApps. Currently, you cannot involve Bitcoin (without wrapping) in arbitrary logic in a decentralized and permissionless manner. Thus, developers and users are unable to take advantage of liquidity on these chains, leaving great opportunities on the table.

What are Omnichain Accounts?

Omnichain Accounts describes ZetaChain’s ability to support smart contract managed external assets and accounts on any blockchain and layer. This powerful cross-chain feature enables smart contract managed native assets such as Bitcoin, ETH, ERC20, Algorand ASAs, etc. When you couple this with ZetaChain’s ability to directly update external chain states via its threshold signature scheme (TSS) signed transactions, you now have the ability to create omnichain dApps, or odApps, that can support arbitrary logic designed to conditionally execute on those external chains natively and directly (without wrapping or bridging assets). Therefore, Omnichain Accounts are a precondition for any blockchain that claims to have generic omnichain smart contract support.

Unpacking the Omnichain Accounts distributed signature scheme

In order to achieve true interoperability, a blockchain must be able to observe other chains, scan them for relevant events, and reach consensus. The question becomes, how do you change state on those other blockchains? On ZetaChain, all validators collectively hold a single public/private key, which can initiate transactions on other blockchains directly. A number of different TSSs can be used depending on the cryptography on different chains and their smart contract capability/cost. The presence of a single distributed public key and address is a key ingredient for Omnichain Accounts because it allows ZetaChain to custody assets on external blockchains which might not have adequate smart contract capabilities and do so while avoiding a single point of failure.

Omnichain Accounts can be trusted to manage assets according to predetermined rules, a functionality comparable to Ethereum’s use of smart contracts. ZetaChain takes this a step further in that a smart contract can leverage and manage assets on any connected blockchain because it holds a collectively owned TSS key and address. This effectively adds smart contract capabilities to the Bitcoin network and other non-smart contract blockchains.

Why Omnichain Accounts are important?

The underlying technology behind Omnichain Accounts provides the crypto ecosystem universal smart contract capabilities across any external blockchain. This means that dApps can now custody and manipulate assets on blockchains directly and provide the experience of cold-wallet-level security with hot-wallet-level functionality. Most notably, this feature essentially adds smart contract functionality to non-smart-contract blockchains like Bitcoin and Dogecoin. Achieving unified liquidity and UXs across blockchains will enable greater capital efficiency and crypto adoption. We’re excited about what the developer ecosystem will build using Omnichain Accounts offered by ZetaChain.

How do Omnichain Accounts work in practice?

Figure 1 below shows how the ZetaChain TSS works. Let’s walk through the Omnichain Accounts mechanism for ZetaChain smart contracts to manage BTC on Bitcoin:

  1. The smart contract initiates a request for KeyGen to generate a TSS key which acts as the address of a Bitcoin vault.
  2. The ZetaClient monitors the TSS address. Upon identifying incoming transactions to the TSS vault, it parses the data from the Bitcoin transaction in OP_RETURNand invokes the ZetaProcessfunction with the parsed data on the smart contract.
  3. The smart contract takes actions accordingly (such as credit to certain accounts, sending out another asset according to AMM pricing, etc.). To send out Bitcoin from the smart contract, the smart contract emits a specific Event that the ZetaClient picks up, signs and broadcasts to the Bitcoin network. The smart contract must also implement a function ZetaExternalTcConfirm which is invoked when the outbound external chain transaction is mined.

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.


Written by zetachain | ZetaChain blockchain enables omnichain interoperability of any value or data.
Published by HackerNoon on 2022/04/29