Stratis InterFlux – Ethereum Interoperability

We are pleased to announce that we have now extended the blockchain support for Stratis InterFlux to include Ethereum. Opening the door to many more use-cases and enabling Stratis Technologies to leverage deployed use-cases and products on the Ethereum blockchain.

Wrapped STRAX

The initial version of Stratis InterFlux includes the ability to transact with a wrapped STRAX token on the Ethereum network.

For this to be accomplished, the corresponding STRAX is secured by the Federation MultiSig for the lifetime of the wSTRAX token.

Token lifecycle:

  1. Conversion transaction received as a cross-chain transfer from the STRAX blockchain.
  2. The MultiSig masternodes detect receipt of this transaction
  3. One of the MultiSig nodes submits a token minting request transaction to the Ethereum MultiSig wallet contract and signs it
  4. A quorum of the other MultiSig nodes sign this transaction
  5. When the transaction is sufficiently signed the minting request is submitted to the ERC20 contract, which creates new wSTRAX tokens and allocates them to the account specified in the conversion transaction
  6. The wSTRAX ERC20 token can be transacted with as normal by ordinary Ethereum wallets and accounts
  7. Conversion from wSTRAX back into CRS or STRAX is accomplished by submitting a burn request to the ERC20 contract for the desired amount, specifying the target Cirrus address
  8. The MultiSig nodes detect the burn request on the Ethereum network and release the corresponding funds from the MultiSig wallet to the target address

It should be noted that the system as described ensures that every wSTRAX token is backed by its equivalent value. In other words, there can’t be more wSTRAX in existence than the funds in the MultiSig wallet.

In the future, CRS will be convertible to wSTRAX via a conversion contract on the Cirrus network.

Proposed Architecture Overview

To allow blockchain interoperability between networks, a mechanism is required for bridging the networks. At a high level, the InterFlux architecture will consist of multiple gateways that interface with a node on both interoperating networks.

The gateways listen for interoperability requests initiated against the interop contracts on each network. For example, suppose an Ethereum node needs to invoke a Cirrus smart contract method. In that case, it sends a transaction to the Ethereum interop contract with the details of the invocation (e.g. Cirrus contract address, method name, parameters).

Once the invocation request is received, one of the masternodes actions a transaction on the opposite network. If there are any applicable return values, these are stored in the transaction receipts. The gateway then makes a further transaction on the original network to store the interoperability request results.

The Stratis InterFlux source is now available via Stratis’ GitHub page, found here. Testing will continue with existing Cirrus Sidechain Masternodes in a lead up to wSTRAX going live on the Ethereum Blockchain, two weeks from now.