blog 
5.23.23

The First IBC-Enabled Rollups

Table of contents

The world of blockchain technology is constantly evolving, and the need for seamless communication between different chains has become paramount. Enter IBC (Inter-Blockchain Communication Protocol), a groundbreaking protocol that enables the transfer of data between any two blockchains. In this blog post, we will delve into the key components of IBC, explore how it works, highlight its unique advantages over other communication solutions, and examine its recent implementation on Cascade, the first interchain SVM rollup powered by Eclipse and Injective.

What are the key components?

At its core, IBC defines a set of standards that govern the authentication and transportation of data between two chains. For successful communication using IBC, the following components are required:

  • Implementation of the IBC core communication protocol on each chain
  • For each chain, a light client of the other chain that can verify block integrity and consensus information
  • An off-chain program called a relayer responsible for querying the IBC messages on each chain and delivering corresponding IBC messages to the other chain when necessary

How does it work?

To initiate communication between two chains using IBC, a connection and a channel need to be established. This process involves four steps, similar to a TLS handshake: open-init (A), open-try (B), open-ack (A), and open-confirm (B), where A and B represent the chains involved.

Example: Cascade IBC connection

Once a channel is opened, applications on one chain can start sending messages to the other chain as packets via a two-step process: send (A) and ack (B).   

Fungible token transfers (e.g. for ERC-20 or SPL tokens) are implemented as an additional protocol on top of the generic packet-sending interface, and is specified in ICS 20. A token transfer application on each side of the transfer will verify that the token transfer is valid, and then burn tokens on the sending side to make them available on the receiving side.

What are the differences between IBC and other communication solutions?        

IBC's security model sets it apart from other communication solutions. Trust in IBC relies solely on the correct implementation of the core protocol on each chain and the accurate verification of data by the light clients. No additional trust assumptions are necessary, even for the relayers responsible for delivering messages between chains.   

This is different from the trust model for Hyperlane or Wormhole, which relies on trusting a guardian network of operators of the bridge to be correctly secured against hacks. However, IBC’s security comes at a cost: it is much more time-consuming to implement IBC communication between two chains, as every pair of chains requires two corresponding light clients to be written and verified for correctness and security.

Put another way, IBC is to Hyperlane as Uniswap is to Coinbase: IBC is more decentralized and requires no trust assumptions other than its implementation, but can be challenging to implement correctly, similar to smart contracts in general.

How does IBC work on Cascade?

Cascade, the first interchain SVM rollup developed by Injective and Eclipse, has taken the integration of IBC to new heights. By enabling Solana developers to seamlessly deploy their contracts and dApps onto Injective, Cascade expands the possibilities of cross-chain communication. Although Eclipse is not built from the Cosmos SDK, IBC support has been added to unleash the full potential of this interchain rollup.

We plan to enable existing IBC relayers to work with Eclipse rollups by spinning up a proof-of-authority (POA) Tendermint chain for each Eclipse rollup that contains the Merklized IBC state for each block on the original rollup. This enables existing Tendermint light clients to work seamlessly with Eclipse rollups. In the future, we will decentralize the validator set of each Tendermint chain so that a diverse group of validators can confirm that state transitions are being computed correctly.

Cascade is now live on the Injective testnet, with a migration to the mainnet planned in the near future. Developers eager to explore the depths of Cascade's capabilities can dive into the comprehensive Cascade developer documentation available at:

https://docs.cascadehq.xyz/cascade-docs/cascade-developer-documentation

_________________________

‍‍About Eclipse:

Eclipse is building the fastest Ethereum Layer 2 using the Solana Virtual Machine, so that developers get all the benefits of dedicated throughput with none of the downsides.

Join our community: https://linktr.ee/eclipsefnd

_________________________

About Injective:

Injective is a lightning fast interoperable layer one blockchain optimized for building the premier Web3 finance applications. Injective provides developers with powerful plug-and-play modules for creating unmatched dApps. INJ is the native asset that powers Injective and its rapidly growing ecosystem. Injective is incubated by Binance and is backed by prominent investors such as Jump Crypto, Pantera and Mark Cuban.

Website | Telegram | Discord | Blog | Twitter | Learn | Youtube | Facebook | LinkedIn | Reddit | Instagram | Orbit Newsletter