Inter Blockchain Communication (IBC): What it Means & Why it Matters
Many in the crypto space believe “the future is multichain”, and the Inter Blockchain Protocol (IBC) is one of the most promising projects in this space. In this post, we’ll explain what IBC is, the Web3 future it enables, the relationship of IBC with Cosmos, and concrete examples of apps using IBC.
With more layer-1 blockchains than coffee shops in the city center of Amsterdam, we still don’t know which chains will become the most successful and play a significant role in Web3.
But what if there’s an alternative to the almighty layer-1 blockchain thesis? Many in the crypto space are starting to believe “the future is multichain”, and the Inter Blockchain Protocol (IBC) is one of the most promising projects in this space.
In this post, we’ll explain what IBC is, the Web3 future it enables, the relationship of IBC with Cosmos, and concrete examples of apps already using IBC to create innovative user experiences.
What is Inter Blockchain Communication (IBC)?
Inter Blockchain Communication (IBC) is a communication and interoperability protocol that allows different blockchains to talk to each other. With IBC, blockchains can seamlessly pass along messages, tokens, and other data. This allows IBC crypto chains to create a smooth user experience where you can use the services of different blockchains, sometimes with the use of one dApp. You might even be using IBC without knowing!
While IBC has been touted for enabling crypto token transfer between blockchains, it’s not a piece of software or a bridge and hence doesn’t “execute” token transfer between blockchains. Instead, IBC is a protocol based on a set of parameters, that enables features like token transfers to be built on top of it. IBC is similar to TCP/IP for the internet—a system of rules that allows servers to communicate with each other and creates the internet as we know it.
Blockchains communicating via IBC don’t communicate directly but, instead, send packets of information via dedicated channels. These channels use smart contracts to verify the information sent by another blockchain.
Although IBC is developed by the Interchain Foundation and associated with Cosmos, it’s a standalone product and can be used without joining the Cosmos ecosystem. It’s a protocol that could potentially be used by any blockchain if its design is IBC-compatible. For now, that includes only blockchains built with the Tendermint consensus mechanism but will be expanded in the future.
Why does IBC matter?
The Inter Blockchain Communication protocol tackles one of the main technical challenges in blockchain: scalability—and connected to that, interoperability.
Ethereum did something revolutionary by building a virtual machine on top of a blockchain, enabling developers to build all kinds of dApps by programming smart contracts. However, there are several drawbacks to building apps using smart contracts on a singular layer-1 blockchain.
First of all, a blockchain’s design limits what programming languages and functions developers can use, and the shared consensus layer limits an app’s sovereignty. As all the apps running on a virtual machine use the same resources, this limits their scalability. It’s the reason why Ethereum was notorious for its high gas fees pre-merge.
Ethereum has increased its scalability by switching to a proof-of-stake consensus mechanism and implementing techniques like sharding and roll-ups. At the same time, alternative layer-1 blockchains, like Solana and NEAR, have started to position themselves as cheaper, faster, or superior in other ways.
But while these alternative blockchains could solve the scalability and customizability limitations of Ethereum, porting over messages and assets from one blockchain to another is often cumbersome and rife with risks, as shown by the recent Ronin bridge hack. As a result, layer-1 blockchains have turned into islands where every type of app has to be rebuilt.
The IBC protocol facilitates the transfer of messages, tokens, and other data between all kinds of blockchains, allowing users to easily and safely move their data and assets from one blockchain to another. This vastly improves scalability and gives developers the ability to optimize their blockchain for specific use cases.
IBC and the Cosmos vision
Whenever you hear people say “the future is multichain”, they’re referring to a future with many connected layer-1 blockchains. This is one of the core visions behind Cosmos.
So what’s the relationship between IBC and Cosmos? Why are they mentioned together so often?
Basically, Cosmos is the idea of “an internet of blockchains”; a “galaxy” of many interconnected blockchains, optimized for their different use cases, that communicate and interoperate with each other seamlessly. Different blockchains power different applications, but a user doesn’t realize any of this while using the different apps. This is the concept of application-specific blockchains.
To achieve this “internet of blockchains” vision, the Interchain Foundation developed a set of tools that includes:
- The Cosmos SDK: An open-source framework that allows developers to easily create custom blockchains
- Tendermint Core: Software for implementing a byzantine-fault tolerance (BFT), proof-of-stake consensus mechanism that ensures blockchains continue to function if parts of the network fail
- The IBC protocol: The communication protocol—and topic of this article—that allows blockchains to talk to each other
- The IBC module: A specific implementation of the IBC protocol that blockchains built with the Cosmos SDK can use to become IBC-compatible
The Interchain Foundation also developed the Cosmos Hub, a blockchain that operates like a router and facilitates communication between different blockchains by keeping track of their states. Additionally, the Cosmos Hub provides bridges to blockchains that don’t make use of IBC, including Bitcoin and Ethereum.
The Cosmos ecosystem describes the network of blockchains that are connected to the Cosmos Hub (and thus make use of IBC) including Secret, Osmosis, Akash, and many more.
What can IBC do?
As mentioned before, IBC is a protocol that facilitates message transfers between blockchains and allows applications to be built on top of it.
These include functionalities like:
- Token transfer, allowing you to stake tokens on one chain and use your rewards in a DeFi protocol on another chain
- Interchain accounts—where one blockchain can control an account on another blockchain—enabling you to swap tokens on an exchange on one blockchain and then provide liquidity on another blockchain, all with the same account
To make these IBC crypto use cases more concrete, let’s go through a few examples of blockchains in the Cosmos ecosystem that use IBC to make cool stuff happen:
Osmosis is an AMM (automated market maker) that lives on its own blockchain. With IBC, Osmosis can communicate with other blockchains in the Cosmos ecosystem and transfers tokens using the protocol.
This makes the experience of swapping different tokens and participating in liquidity pools on Osmosis as seamless as that of swapping ERC-20 tokens on Ethereum—even though you’re actually swapping tokens from entirely different blockchains! It’s as simple as depositing your tokens from one blockchain to Osmosis, and withdrawing them when you want to take them out.
Since March 2022, people who provide liquidity on Osmosis can stake their tokens using something called “superfluid staking”. When you provide liquidity, you can get LP tokens in return, and choose on what chain and to which validator you stake them.
Secret Network is a blockchain that enables developers to build privacy-preserving applications using smart contracts that encrypt user data by default.
With IBC and interchain accounts, any blockchain in the Cosmos ecosystem can use Secret’s private smart contracts to encrypt and protect their user’s data. This opens Privacy-as-a-Service related use cases:
- Private voting for DAOs, with a smart contract on one chain (like Juno) communicating with a vote-counting contract on Secret to keep personal information and voting history hidden
- Truly random number generation can be used in (for example) a gaming app, by using a random number generator on Secret where the user can’t see how the number was derived
What’s next for IBC & crypto
The IBC protocol is, along with the rest of the Cosmos toolkit, continuously being developed. Recently, Cosmos 2.0 was announced, and IBC is playing an important role in developing a couple of its most exciting features.
One of these is Interchain Security, which enables a larger “provider” chain to produce blocks for a smaller “consumer” chain. This gives smaller chains in the Cosmos ecosystem the opportunity essentially “rent” security from a larger chain like the Cosmos Hub.
The combination of liquid staking and IBC allows holders of ATOM to stake their tokens and to help secure their network, while also deploying their capital to provide liquidity on other chains in the Cosmos ecosystem.
Next to the Cosmos 2.0 developments, initiatives like Polymer Labs are making it easier for blockchains that don’t meet the IBC standards to interact with IBC blockchains.
IBC: Our way to provide privacy to everyone
There are still many challenges ahead for the decentralized web including scalability, interoperability, and security.
But projects like Cosmos and Inter Blockchain Communication are making us rethink Web3 architecture from the ground up, and empowering developers to build the future of the web. A future where not one blockchain reigns supreme, but many blockchains provide the underlying architecture to give users the best possible experience.
This is one of the reasons why Secret Network chose to be part of the Cosmos ecosystem. To achieve our mission to provide privacy to all web users, we need to make it as easy as possible for them to access Secret’s apps, and for other chains to use Secret’s privacy-preserving features. An interoperability protocol like IBC helps us get there.
If you want to learn more about Secret Network use cases powered by private smart contracts, check out our About Secret Network page.
If you’re a developer who wants to start building with privacy, you can! Fill out this form to join Secret University, a soon-to-go-live developer launchpad that’ll help you get your first private Secret contract up in no time.
To stay up-to-date on all things Secret, follow us on Twitter.