As blockchain proliferate and diversify, cross chain interoperability increased in relevance. This essay summarizes the key concepts and models.
Use cases
How does cross chain interoperability enable or facilitate blockchain use cases?
Decentralized exchanges (DEX)
DEX illustrate the driving demand. As crypto currencies grow in value and volatility, traders often want to swap cross chain assets: SOL for ETH, ETH for ENJ.
Because the assets or tokens belong to different chains, even chains that are non-Ethereum based because they don’t rely on the Ethereum Virtual Machine (EVM), interoperability was needed to facilitate the trade.
DeFi
Ability to move tokens from one chain into another chain to take advantage of different financial instruments.
For example, ETH tokens that want to earn yield on another chain, such as Aave.
Workflows across different chains
As blockchains specialize and smart contracts grow in complexity to tackle real-world end-to-end transactions, enabling cross-chain workflows requires interoperability.
For example, the case of insuring or speculating on delivery of wheat could potentially require a smart contract based payment and settlement through a stable coin chain. The identity or logistics on a different chain. Prices a different chain running price oracles. IoT sensors feeding into the speculation on a different chain.
This requires not only the ability to perform asset and state transfers across chain, but a way to compose a ‘best-of-breed’ smart-contract.
Composability will be a key requirements that is tested by the UX experience at the application layer: the easier it is to remain at the application layer to compose cross-chain business logic, the better.
Features
Given some of these examples, some features that would need to be included are:
- Token exchange (synthetic versus native)
- Messaging
- State transfer
- Low time to finality
- Low fees
- Trust minimization / trustlessness
- Security
- Composability (privacy, consensus)
- UX
The primary considerations that appears
The blockchain trilemma
Similar to the CAP theorem with trade offs for distributed computing, cross chain interoperability typically has a trade off of security, speed, and decentralization.
These not only apply to the blockchains, but to the protocol or mechanism for providing interoperability itself.
Problems
In solving for the features above to address the use cases, interoperability solutions also seek to address some additional problems. Some of these are use-case specific, but are considerations.
Thin Liquidity Pools
In the case of asset transfers, if these transfers depend upon liquidity to exchange one asset on another chain for another, sufficient liquidity pools may be necessary.
However, if the pools are pairwise, meaning a Token A - Token B liquidity pool is different from a Token A - Token B liquidity pool, the liquidity becomes thin, and that could potentially risk added latency into the trade or increase fees.
Trusted middle chains introduce security risk
One way to solve is to have a trusted middle chain, one that could potentially have its own intermediary pool. This removes the direct pairwise liquidity exchange, and should reduce risk of low liquidity.
However, these middle chains often have to have signing authority to their destination chains. This introduces a man-in-the-middle attack vector across the entire destination chain if it were compromised.
Limited, untrusted nodes for signing
When assets are moved across a token bridge, or a message is emitted to transfer state, nodes need to sign. If the number of nodes are limited, untrusted, or both, this can introduce a risk.
Solution Design Space
There are different concepts and models for solving the problem.
Bridges
Bridges enable pairwise “crossing” of asset and/or messaging between chains.
Hub and Spoke
This approach is similar to that “middle chain” approach, but some may develop the hub and spoke model without a trusted hub.
Synthetic/Wrapped vs Actual Asset
One way cross-chain transfers have occurred has been through wrapped or synthetic tokens. Token A wants to be Chain B, and so it is locked on Chain A and a “synthetic” version of Token A exists on Chain B.
Wrapped tokens can introduce risks through if custodians are centralized and insecure.
Some solutions, however, move the actual token from Chain A to Chain B.
Cross Chain Virtual Machine
This approach provides developers a “virtual machine” which has cross chain compatibility. Similar to containers in cloud compute, which enables developers to develop without regard to the underlying OS, these virtual machines enable the smart contracts to operate across different chains.
Parachains / Side Chains
This concept appears specific or at least originated with Polkadot, which enables the creation of chains by an existing chain to then interoperate across a hub and spoke model.