Cross Framework — A Framework to Achieve Interoperability Between Heterogeneous Blockchains through Cosmos’ IBC

Datachain
14 min readOct 13, 2020

--

In this article, we will introduce Cross Framework, which enables the interoperability of blockchains. Cross Framework is currently available in Hyperledger Fabric, Corda, Hyperledger Besu and Tendermint. If you are interested in Cross Framework, feel free to contact us from this form.

Background

After the boom of Bitcoin and cryptographic assets, the social implementation of blockchain in various forms has progressed.

Datachain also expects that the number of blockchain applications will continue to grow in the payment and financial domains, such as its application to used car distribution and as a foundation for various data distribution and management, such as supply chain and MaaS.

According to Gartner, blockchain is expected to bring $176 billion in economic value by 2025 and $3.1 trillion by 2030.

Public blockchains such as Ethereum and consortium blockchains such as Hyperledger Fabric are being adopted in a variety of ways. However, each domain and participating company will inevitably build on different blockchain platforms, which can lead to silos in each blockchain.

On the other hand, business constraints such as “Who will be the main actor” and “who will organize the data” make it challenging to maintain all the data to be utilized on the same blockchain.

Cross Framework

Cross Framework was developed as a mechanism to connect blockchains and realize cross-chain smart contracts.

In other words, it is a framework that aims to enable developers to execute smart contracts from one blockchain to multiple blockchains while maintaining concurrency by just writing normal smart contracts.

Previouesly, processing across multiple blockchains required a trusted third-party off-chain system connecting the X and Y blockchains or the design and implementation of a mechanism such as HTLC (Hashed Time-Locked Contract), which posed challenges in terms of cost and flexibility to achieve trust.

Therefore, we thought the Relay method would be desirable, not involving a trusted third-party system. We adopted IBC (Inter Blockchain Communication) to achieve interoperability and developed Cross Framework, which consistently executes smart contracts between multiple blockchains.

In other words, Cross Framework guarantees the reliability of transaction processing of cross-chain smart contracts by agreeing on commits between each blockchain via IBC, which provides trustless communication between multiple blockchains.

With these mechanisms, Cross Framework makes it possible to develop a system that can guarantee data integrity in token exchange and distributed transactions of smart contracts on multiple blockchains.

As an example, let’s look at token transfer between multiple blockchains. As shown in the picture below, we can achieve token transfer between multiple blockchains by implementing Cross Framework to execute a smart contract from one blockchain on the other blockchain.

In other words, a call is made from the Peg function on blockchain X to the Lock function on blockchain Y. Then, updating the balances on both blockchains (reducing the balance on blockchain Y and increasing the balance on blockchain X) is executed only when the user has enough balance to transfer on blockchain Y.

In this way, Cross Framework makes it possible to call a smart contract function of another blockchain as if it were calling the contract function on the same blockchain.

The following three points characterize Cross Framework:

  • Mutual state verification between multiple blockchains (i.e., no need to trust a system to monitor)
  • Execute various smart contracts on multiple blockchains from a single blockchain consistently.
  • Designed with scalability in mind, including support for various blockchains/DLTs such as Hyperledger Fabric, Hyperledger Besu, Corda and Etheruem.

Use Cases

As mentioned in the features above, we aim to handle smart contracts on multiple blockchains from a single blockchain in a unified manner. Among others, we envision the following use cases.

DvP Settlement

DvP settlement stands for Delivery versus Payment, where the delivery of securities and the payment of money are mutually conditioned; Unless one transaction happens, the other will not happen.

Due to service requirements and regulation issues, we expect that there will be two separate blockchains, one managing assets (securities, real estate, etc.) and the other managing payment tokens. In such a case, it is necessary to realize a DvP settlement between the two blockchains, the asset blockchain and the payment blockchain.

Specifically, if the ownership of the asset token managed by the asset blockchain is transferred from Alice to Bob, and the payment token managed by the payment blockchain is transferred from Bob to Alice, the balance updates in the asset blockchain and the payment blockchain need to be performed atomically.

Cross Framework makes it possible to realize the execution of smart contracts between different blockchains atomically, avoiding the risk that a security delivery could be made without payment or payment could be made without delivery.

Related articles:

Automatic execution of contracts

Suppose the insurance contract is managed on the insurance blockchain, and the insurance payment to Alice, the insured, is automatically executed on the settlement blockchain. In that case, it is necessary to refer to Alice’s medical information on the medical blockchain.

Cross Framework makes it is possible to develop a cross-chain smart contract between three blockchains for a series of flows:

  1. Manage Alice’s medical information on the medical blockchain.
  2. Inquire only about the information of the disease to be insured.
  3. Confirm the contract details on the insurance blockchain.
  4. Remit the insurance payment on the settlement blockchain.

In addition, we expect that Cross Framework can be used in new blockchain-based systems such as CBDC and other payment blockchains and general scaling and secrecy blockchains.

Future Plans

Currently, it supports Hyperledger Fabric, Hyperledger Besu, Corda, and Tendermint, and we are developing it to connect to other blockchains and existing systems as needed.

At the same time, we are expanding design patterns suitable for cross-chain smart contract use cases, developing peripheral tools for implementation and usage, and developing documentation and tutorials for these tools.

As mentioned in the use cases section, Datachain aims to use Cross Framework for various blockchain interoperability cases.

In the future, we would like to disclose the development of Cross Framework and its actual operation with a focus on interoperability, including efforts with partner companies.

Follow us on Twitter:
https://twitter.com/datachain_en

GitHub:
https://github.com/datachainlab/cross

This article is also written in Japanese:
https://medium.com/@datachain_jp/cross-framework-introduction-88dc87f8fcb7

--

--

Datachain

Core Contributor of LCP and Hyperledger Lab YUI, cross-chain interoperability solutions using the IBC protocol. https://twitter.com/datachain_en