The IBC Protocol 2023 Year in Review
2023 saw total IBC-enabled chains go from 53 to 107; $2.5B in volume and 5.3M+ token transfers in December; 124 contributors to the main IBC Github repositories; the release of dozens of new features, releases, apps, and tools; IBC connections expanding to Polkadot and in testnet to Avalanche; and, a protocol rebrand. The core IBC protocol is one of the few interoperability protocols that has never been exploited - a remarkable feat considering that 50% of the Rekt leaderboard is interoperability protocols. Collectively, these facts reinforce IBC’s status as the gold standard for blockchain interoperability.
As this year comes to a close, we, the IBC team at Interchain GmbH want to share and magnify achievements in development, usage, and community contributions for the IBC Protocol. IBC succeeds because of its incredible community of builders and end users. Together, let’s celebrate a fantastic 2023.
IBC Adoption and Usage Expanded in 2023
IBC's adoption has seen remarkable growth over the past year. As of writing, 107 chains are IBC-enabled, a staggering 102% increase from last year's tally of 53 chains. The majority of the 107 IBC-enabled chains (>100) use ibc-go, the reference implementation of IBC. The protocol facilitates approximately 5 million transfers per month, equivalent to $2.5 billion in cross-chain volume.
As of mid-December 2023 on MapofZones, 30d metrics show the flagship Cosmos DEX Osmosis as the largest driver of IBC volume in the interchain. Notable new entrants like Celestia, dYdX, and Noble with their USDC onramp joined the interchain, driving IBC volume and transactions to new heights at the end of the year.
IBC’s reach expanded far beyond Cosmos in 2023, with a live connection to Polkadot and a testnet live for an IBC connection to Avalanche, and Ethereum, L2s, and rollup IBC-compatibility getting close to launch. We’ve detailed these ecosystem updates in a dedicated section at the end of this post.
A standout in feature adoption for ibc-go has been Interchain Accounts (ICA). One year ago, Stride was the only user of the ICA controller. Since the refactor work was done in ibc-go v6, 34 additional chains have added the ICA controller submodule, acting as a springboard for 49 chains implementing the corresponding ICA host functionality.
Meanwhile, ibc-rs is finding real-world use cases that demonstrate its growing adaptability. Users include Namada, a privacy-focused L1 blockchain; Nomic, Cosmos’s Bitcoin bridge; Octopus Network, building a connection between IBC and NEAR protocol; and ComposableFi, working on Solana <> Cosmos interoperability.
Ibc-solidity has garnered early interest and adoption within the interchain developer community, reflecting its promising potential as its development progresses. Composable Finance, for instance, utilizes the module to build a bridge between the Ethereum and Cosmos ecosystems. Also, TOKI will soon launch a bridge on public testnets, facilitating connectivity between Ethereum and Binance Smart Chain. We anticipate the emergence of more applications in the near future, driven by initiatives to expand IBC into EVM ecosystems.
IBC Releases, Features, and Apps for 2023
In this section, we’ll cover the releases, features, and apps for the three IBC implementations: ibc-go, ibc-rs, and ibc-solidity.
Ibc-go
We’ve had two major releases to ibc-go in 2023: v7 and v8. The main features and improvements introduced in 2023 are detailed in this section.
Client Refactor
The client refactor made it significantly easier to use ibc-go with non-Tendermint light clients to facilitate expansion to new networks. The refactor moved specific functionality from the 02-client submodule to the different light client implementations. For further insight, read the dedicated blog post on the topic.
Support for Authz within ICS-20
Authz is a Cosmos SDK module that allows a grantee to perform actions like stake and unstake on behalf of a granter. ibc-go v7 added support for authz within ICS-20, allowing a grantee to initiate ICS-20 token transfers on behalf of a granter.
Localhost Client
ibc-go v7.1.0 introduced the localhost client, a powerful UX improvement that enables end users to interact with multiple smart contracts/modules on the same chain using a single interface.
The client that lets different applications on a chain communicate with each other using the IBC interface. When packets are sent to a localhost client, they are routed internally to applications within that chain, instead of going to a counterparty chain. Shoutout to Strangelove and Polymer for their invaluable contributions to this feature.
Callbacks Middleware
The callbacks middleware is an IBC module that gives IBC-enabled chains, products, and smart contracts the ability to execute callbacks. It works by allowing an underlying application, such as transfer or ICA, to execute callbacks to secondary applications like Wasm or EVM execution frameworks. The middleware enables smart contracts on execution frameworks like x/wasm or ethermint to receive callbacks during the packet lifecycle. Read more on our blog.
The callbacks middleware has its own go.mod and is supported in ibc-go v7.3.0 and higher. Shoutout to the team at Osmosis, Nicolas Lara, Alex Peters, and the Confio team for their input in developing this feature.
ICS-08 Wasm Client
The Wasm client module simplifies the addition of new light clients. It includes a Wasm VM capable of hosting light client bytecode, so light clients can be developed in any Wasm-compatible language like Rust, C/C++, JS, or Go. The Wasm client module was released with its own go.mod
independently of ibc-go.
Shoutout to Confio, Strangelove, Composable, Chorus One and Ethan Frey for their invaluable contributions to this feature. See the blog post to learn more about 08-wasm.
Ibc-rs
The ibc-rs team at Informal Systems had four major releases in 2023: v0.29.0, v0.40.0, v0.42.0, and v0.48.0, which provided usability improvements and extended functionality to ibc-rs. The main features and improvements introduced in 2023 are detailed in this section.
- Redesigned APIs: The team redesigned APIs to support a wider range of use cases, aimed to help teams bring IBC outside of Cosmos. See ADR 005 and ADR 007.
- Improved Security and Reliability: Comprehensive bug resolution and elevated validation checks in line with ibc-go.
- Selective module or domain type library import: Restructured the ibc-rs repository from being a monolithic library to multiple nested crates, empowering users with the flexibility to selectively import different modules or types based on their specific use case.
- Ibc-query and ibc-testkit libraries: Introduced the ibc-query library that houses utility traits and implementations for querying ibc-rs enabled chains, as well as the ibc-testkit library to make testing easier.
- Featured Client upgradability: Host chains now have access to APIs and upgrade proposal utilities to handle upgrade client messages and proposals.
- No-float and no-std environment compatibility: Added compatibility with no-float and no-std environments for a smoother compilation experience.
- Refactored basecoin-rs for integration testing: The ABCI application basecoin-rs has undergone refactoring and is now the main venue for ibc-rs integration tests.
Ibc-solidity
The ibc-solidity team at Datachain delivered enhancements that improved compliance with IBC's Interchain Standards and supported its extensibility to other ecosystems. They also released a demo that connects Ethereum and Cosmos (ibc-go) using ibc-solidity in conjunction with an LCP client to enable an IBC connection between the two ecosystems. Features and improvements include:
- Compatibility with ibc-go for ICS-20, ICS-03 and ICS-04: ICS-20 token transfer support will enable the integration of IBC Apps in heterogeneous ecosystems, such as allowing CosmWasm contract calls to EVM-based chains. ICS-03 and ICS-04 provide support for packet timeouts and connection version negotiation.
- Re-architecture of the ibc-solidity module: Improves gas efficiency for EVM chains like Ethereum and facilitates application of EIP-2535. See PR 130 and 234.
IBC Apps and Developer Tooling Releases for ibc-go
2023 was a year of steady progress in the release of IBC apps and developer tooling. As always, the IBC contributor community remained committed to launching practical and useful apps and tools. This section will explore these contributions.
- Interchaintest - A robust and user-friendly multi-chain testing environment for IBC that allows users to quickly spin up custom testnets and dev environments to test IBC, chain infrastructures, smart contracts, and more. The framework orchestrates Go tests that utilize Docker containers, and has recently been expanded to include local-interchain for private testnets and an Ethermint integration. Developed by Strangelove.
- IBC Hooks - The wasm hook is an IBC middleware that uses the memo field to allow ICS-20 token transfers to initiate a Wasm contract call. One of the main primitives for this middleware is cross-chain swaps. Developed by Osmosis.
- ICS-721 - Application that enables cross-chain transfers of non-fungible tokens (NFTs) over IBC. Co-developed by Bianjie and Stargaze.
Contributions by ibc-go Engineering to the Interchain Stack
The distributed development teams of the interchain align on a shared goal of delivering the most high-quality tech stack we can, and the IBC team at the Interchain Foundation strongly believes in the importance of this goal. To this end, we will share some of the issues found and remediated by the ibc-go team for the Interchain Stack this year.
Damian Nolan from the ibc-go team found and solved an issue with Ledger signing for repositories outside of the SDK. He provided documentation to the team on the correct fix. Ibc-go team Technical Lead Colin Axnér found and remediated issues with the Cosmos SDK governance module and SDK error string non-determinism; his proactive detection and reporting helped prevent a security risk.
The ibc-go engineering team also found and remediated several smaller issues for the Stack this year. These included param migration issues, changes in CometBFT key/value encoding that caused relayers to miss certain events, incorrect arguments in the genesis migration code for SDK v.0.50.0, and more. Although these discoveries were not critical, their resolution played a key role in maintaining the strength and reliability of the Cosmos SDK and CometBFT, as well as the stability of the IBC protocol.
Thanks to the Distributed Development Teams
This year we’ve significantly improved our end-to-end (e2e) testing processes, which enabled us to detect and address issues more efficiently. We’d like to extend our gratitude to Strangelove for building the interchaintest framework, which has been the backbone of our e2e testing process.
A huge thanks to the teams that build the Interchain Stack, especially Informal Systems, Binary Builders, Confio GmbH, and Strangelove. The collaborative process of identifying and resolving stack-related challenges highlights the interconnected nature of the Interchain ecosystem. This demonstrates the spirit of our global network, where collective efforts result in continuous improvements and growth.
GitHub Metrics: Celebrating the IBC Developer Community
IBC is powerful because of its contributors. The Github repositories for IBC’s Interchain Standards, ibc-go, ibc-rs, ibc-solidity, and ibc-apps had an impressive 124 contributors*. Many work on IBC-enabled chains and applications and volunteer their time to improve the protocol. Collectively, the IBC contributor community undertakes hundreds of projects that innovate on the protocol and spends thousands of hours on peer review of public, open-source code.
Last year ibc-go had 52 external contributors over its lifetime, and in 2023 that increased to 80, marking an impressive 53% increase. The table below highlights the top 5 external contributors by number of commits as of November 27, 2023. The IBC team at Interchain extends its deepest gratitude to these individuals and to all IBC contributors for their invaluable efforts which continue to drive the progress of IBC.
In terms of GitHub activity, here are metrics to showcase the rate of development in the ibc, ibc-go, ibc-rs, ibc-apps, and ibc-solidity repositories through the end of November 2023. Contributors merged a total of 1,742 PRs this year.
Ecosystem Developments
2023 marked several milestones in the development of the IBC Protocol. Here are highlights.
IBC got a facelift (We rebranded)
This year, Interchain GmbH worked on giving IBC a fresh, new identity. Our efforts culminated in September with the launch of a revamped website, showcasing the rebranding of the IBC protocol.
The official Twitter/X presence for IBC went live last month. This platform will serve as a hub for protocol updates and value-added educational content, specifically tailored for developers and teams engaged in building with IBC.
Mitsubishi Financial adopts IBC
Perhaps the most important development on the enterprise front was the largest bank in Japan, MUFG adopting IBC for cross-chain stablecoin payments. Datachain and their partner TOKI Finance have been spearheading IBC enterprise adoption. They are the lead development team behind Progmat Inc., a digital securities platform built by Mitsubishi UFJ Trust and Banking Corporation, to facilitate cross-chain settlement of digital securities and stablecoins. Thanks to their efforts, IBC has emerged as the preferred solution for blockchain interoperability in the Japanese enterprise space, proving its strength and adaptability in meeting the requirements of large-scale financial operations.
IBC went live on Polkadot and Kusama
In July of this year, the team at Composable Finance launched their IBC connection between Cosmos chains and the DotSama ecosystem (Polkadot and Kusama). Through their IBC connection ‘Centauri’, the Polkadot network can interact with the interchain for the first time.
Rollup-IBC interoperability in the works
Several teams are working on IBC to rollup interoperability. Dymension facilitates other rollups deploying on top of their stack. These rollups will be able to communicate with one another over IBC. Plus, they are developing eIBC middleware to enable token transfer for optimistic rollups without waiting the dispute period. Dymension currently has an incentivised testnet, with nearly 1000 rollups deployed!
Rollkit, a framework for making rollups and the IBC team at the Interchain Foundation are working on an integration to enable IBC for Rollkit <> rollups and Rollkit <> IBC-enabled chains. Sovereign SDK, a framework for ZK-rollups, is working with the ibc-rs team on an integration module for their SDK to enable rollups built with the Sovereign SDK to communicate over IBC.
IBC to Ethereum gets closer
As the leading chain in terms of user activity, liquidity, developer interest, and market dominance, bringing IBC to Ethereum mainnet is a high priority.
The team at Union recently announced their progress on an IBC connection to Ethereum mainnet. They have a testnet with full working light clients on both the Cosmos and Ethereum (Sepolia testnet) side, membership and non-membership proofs, a full-fledged relayer implementation, and a ZK prover. Composable Finance also has a testnet for Cosmos<>Ethereum IBC connections.
Polymer Labs recently announced their pivot from a Cosmos SDK chain to an L2 rollup that combines both the Cosmos SDK and the OP Stack, offering IBC interoperability from Cosmos chains to Ethereum Mainnet as well as to other rollups. Ethereum itself will be verifying IBC execution on behalf of its rollups.
Landslide announces testnet for IBC to Avalanche
Landslide is an Avalanche Subnet that aims to act as the entry point for IBC into the Avalanche ecosystem to open the doors for Cosmos chains to interact with Avalanche subnets and vice versa. Landslide has an incentivised testnet and plans to launch mainnet next year.
Looking Forward to 2024
For the next year, the two main themes for IBC are expansion to new ecosystems and improving the protocol’s usability. The development teams that build IBC’s technology have been funded by the Interchain Foundation to power the protocol forward towards this goal. Highlights include integrations with rollup frameworks including the OP Stack, Rollkit, and Sovereign SDK, testing framework and developer tooling improvements, enhancements to existing features, and more. We’ll be publishing a longer post on the 2024 roadmap in the beginning of 2024.
The towering strength of the Inter-Blockchain Communication Protocol is its incredible community of developers, users, and enthusiasts who propel the protocol’s success to new heights each year. Our shared roadmap is a commitment to a vision. Together, we will evolve IBC into the TCP/IP of blockchains, a foundational and universally adopted protocol for seamless communication and interoperability.
Here's to the interchain we're building together.
The IBC Team at the Interchain Foundation
The IBC team at the Interchain Foundation are the stewards of the IBC Protocol. They maintain the ibc spec and ibc-go repositories. Ibc-go is the reference IBC implementation used by 107 chains.
About IBC
The Inter-Blockchain Communication Protocol (IBC) is the most widely adopted trust-minimized, permissionless, and general messaging-passing protocol. IBC connects 100+ for cross-chain activities such as token transfers, inter-chain account control, shared security, data queries, and much more. Build using IBC or join us on Discord.
*As repos are managed by different organizations and may have different commitment requirements, we simply added up each repository’s contributors, then reduced that number for any double-counting in the ICS and ibc-go repositories, as those two repositories are managed by a single organization. For example, a contributor to both ibc-apps and ibc-rs would be counted for both repositories, while a contributor to ICS and ibc-go would be counted only once.