Interchain

Interchain, Dragonchain’s patented approach to secure and scalable interoperability between multiple blockchains or traditional systems, is a cornerstone of Dragonchain’s platform. Not only does Dragon Net use Interchain to secure business chain transactions and blocks to a public network, but business chains (L1) can also use smart contracts to create or react to events on any foreign blockchain (e.g. Bitcoin or Ethereum).

Overview

Dragonchain provides two types of smart contracts to interact with other chains. A watcher contract waits for events to occur on another blockchain and performs some operation based on event data, then ledgers the result onto the business chain. A publisher contract does the opposite and triggers when an event occurs on a business chain. The contract then pushes event or other data to a foreign chain to be ledgered or to cause events on that chain. The two types of contracts can be used in any combination, allowing patterns and complex workflows such as causing an event on a public network to trigger logic on a Dragonchain business chain which can then report back to the foreign chain with the result.

Multidimensional Interoperability

Interchain is the way all blockchains and traditional systems can connect in a secure manner. Although blockchain interoperability is thought by most to solely encompass a token transfer operations, Dragonchain provides a powerful multidimensional approach to interoperability by focusing on token transfer, utility, security, and traditional systems.

Token Transfer

Token transfer gets the most focus in interoperability discussions in the blockchain industry. Dragonchain has provided this as an operational capability since 2018. Multiple live systems use Dragonchain for this capability, and to leverage the Ethereum network to secure tokens.

  • Allow users to transfer value or assets from one chain to another

  • Focuses on safety and security of decentralized value transfer

Security

One of the most unique and longstanding capabilities of Dragonchain is to secure all transactions using interopability between blockchains. Dragonchain (known at the time as the Disney Private Blockchain Platform) first introduced this capability in 2016 inside of Disney by securing transactions to the Bitcoin network.

  • Leverage other chains for security

  • Multi-algorithm security at low cost

  • Controlled exposure of data

Utility

An extremely valuable capability of Dragonchain is to leverage the raw utility of other blockchains and their networks. This allows a business to build what is possible today, knowing that if a better implementation appears in the blockchain world to do a function (e.g. decentralized storage, DeFi chains, etc.), they will be able to leverage it with direct access inside their own Dragonchain business chains and connected systems.

  • Allows users to tap into specialized blockchains to integrate capabilities such as quantum computing, decentralized storage, supply chain, etc.

  • Provides flexibility and lowers risk to businesses using blockchain technology

  • Reduces strain on any one chain, keeping speeds high and cost low

Traditional Systems

The most powerful aspect of Interchain and interoperability in general is the ability of Dragonchain business chains to directly interoperate with traditional systems. That is, any system (e.g. accounting, human resources, medical, etc.) that has an programmatic accessible interface is interoperable with your Dragonchain business node. Simply connect the system with your business chain via its RESTful API interface and that of the traditional system.

This pattern allows amazing immediate real-world integrations between working systems in a business enterprise with blockchain capabilities to track, trace, and prove actions and events in a business workflow.

  • Ability to keep software and services that already work for you

  • Harness the power of blockchain using existing IT infrastructure

Interchain Interfaces

Dragonchain aims to Interchain with every network. Currently, Dragonchain supports Bitcoin, Ethereum, and Ethereum Classic Interchain interfaces. Interchain interfaces to other blockchain networks have been built, including an unproductized interface to Hyperledger. The open source Dragonchain code demonstrates how more interfaces could be constructed, allowing the community to build their own interfaces to any network they wish.

Dragonchain Provided Interfaces

The interfaces Dragonchain maintains and provides to the community are also used to host L5 nodes on Dragon Net. The networks listed in this section are actively pinning block hashes to public networks.

Bitcoin

The Bitcoin interface is built using private RPC nodes. The nodes are not accessible to users who want to run their own on-premises nodes, but the RPC calls are useful to anyone who wants to interact with a Bitcoin based blockchain.

A record of Bitcoin L5 broadcasts can be found here.

Dragonchain can create a Bitcoin address and attach it to an business chain (L1):

$ dctl interchain bitcoin create "myBtc"
{
  "status": 201,
  "response": {
    "version": "1",
    "blockchain": "bitcoin",
    "name": "myBtc",
    "rpc_address": "http://internal-Btc-Mainnet-Internal-297595751.us-west-2.elb.amazonaws.com:8332",
    "testnet": false,
    "address": "1MvesMiKiv8PEsopD8kFd7g1qkBjWb55p2"
  },
  "ok": true
}

This address will be used in Bitcoin interchain transactions. The address must be funded to pay for transactions on Bitcoin. Funds can be transferred directly to the address provided by dctl.

$ dctl interchain bitcoin transaction "myBtc" --data "hello"
{
  "status": 200,
  "response": {
    "signed": "010000000222b78dca6b100f0e22156e06f66edaa1992bca07bc7e0f4eab30c2d1a74916e2010000006b483045022100a8ebdd789aa171c1ee022c46545575173de46da4b01d110e3ba34178d1b835710220343583b63af5c277b877cee2b8016733b6b674c2f436100d6b2e37325f2b66350121023c27bf2fe8f47ac38fcdaed5c4667ad948a7a5cbccd2ed4fd126e3c6ce518df8ffffffffe713c13a937985b74d217882883340d69fcc148c5ea6867726e8bb4ff7af43a0010000006a47304402201ba781d5b979008d5a92590f7b23ad0262ba435cbe20c0d572f2d6877ced115a022030e2a96aca80e30c19713a96a76f7342c3dcf3d11ae3ba5c95808042d67d92060121023c27bf2fe8f47ac38fcdaed5c4667ad948a7a5cbccd2ed4fd126e3c6ce518df8ffffffff025e3d0000000000001976a9142e961bd1c83dc030fbccec8f23c83b135331823988ac0000000000000000076a0568656c6c6f00000000"
  },
  "ok": true
}

Dragonchain does not currently support automatically sending transactions on public networks. While this feature is in development, the signed transaction can be manually sent using a tool like Blockchain.com.

Using the Blockcypher testnet3 interface, we broadcast the above signed transaction.

Ethereum

The Ethereum interface uses private Geth nodes to interact with Ethereum and Ethereum Classic. The private RPC nodes are not accessible to users who run their own on-premises nodes, but the RPC calls will be useful to anyone who wants to interact with an Ethereum based blockchain.

A record of Ethereum L5 broadcasts can be found here. Ethereum Classic L5 broadcasts can be found here.

Dragonchain can create a Ethereum address and attach it to an L1 chain:

$ dctl interchain ethereum create "myEth" --chain-id "1" # chain id 1 is mainnet ETH
{
  "status": 201,
  "response": {
    "version": "1",
    "blockchain": "ethereum",
    "name": "myEth",
    "rpc_address": "http://internal-Parity-Ropsten-Internal-1699752391.us-west-2.elb.amazonaws.com:8545",
    "chain_id": 1,
    "address": "0x8167620eaA01F46c666Bd3B3e3e53119e32B44e3"
  },
  "ok": true
}

This address will be used in Ethereum interchain transactions. The address must be funded to pay for transactions on Ethereum. Funds can be transferred directly to the address provided by dctl.

$ dctl interchain ethereum transaction "myEth" --data "68656c6c6f" --to "0x0000000000000000000000000000000000000000" -v "0x0"
{
  "status": 200,
  "response": {
    "signed": "0xf86880844102bd5282ea60940000000000000000000000000000000000000000808568656c6c6f29a05e91ecc7592439ff62ed6442b59a30f1c983bcd37236fa80d3fce6fa39e77e1ba010fefd5598f22036a5edbf818b8feb149dc3de97340d2811d8a67a4637af3827"
  },
  "ok": true
}

Dragonchain does not currently support automatically sending transactions on public networks. While this feature is in development, the signed transaction can be manually sent using a tool like Etherscan.

Using the Etherscan ropsten interface, we broadcast the above signed transaction.

Binance Chain

The Binance Chain Level 5 Interchain node has been retired due to extensive maintenance issues. There is a chance that the newer Binance Smart Chain may be Interchained, but there are no current plans to do so unless there is a business interest.

NEO

The NEO Level 5 Interchain node has been retired due to extensive maintenance issues. There is a chance that the NEO network may again be Interchained, but there are no current plans to do so unless there is a business interest.

Make Your Own

Level 5 (L5) Interchain nodes use the actions specified in level_5_actions.py. To create a new interface to a network, or to add a new network to the open source Dragonchain project, just create a file like the ones provided by Dragonchain for your favorite blockchain. We are always accepting PRs to extend our network capabilities with the goal to Interchain Everything!

References