The last Cosmos Hub upgrade in Q4 2021, Vega, brought upgrades to IBC and Tendermint. The Theta Upgrade slated for Q1 of 2022 promises the introduction of the Interchain Account Module. Currently, the only IBC function available in the Cosmos is token transfers. This will change with the Theta and Rho upgrades; Interchain accounts will allow users to enable an account on one blockchain to securely control an account on another chain.
Background on Inter-Blockchain Communication
The Cosmos SDK is a framework that allows new layer 1 protocols to launch application-specific chains with the Cosmos SDK – a set of modules that have the same set of parameters, enabling chains to communicate using Inter-Blockchain Communication (IBC).
“IBC is a fundamental blockchain interoperability protocol that handles reliable transport, authentication, and ordering of data across blockchains.” – Josh Lee, Co-builder of Keplr Wallet and Osmosis
IBC is a message-passing standard similar to TCP/IP, which is a set of protocols dictating many of the communication standards across the internet. The goal of the IBC protocol is to formalize the fundamental features required for cross-chain data transfers. IBC allows blockchains to communicate by enabling data to be reliably sent, authenticated, and ordered across blockchains. IBC separates the application layer (such as the Osmosis zone) from the transport and network layer presently transferring tokens between IBC-compatible addresses (such as a Cosmos address to an Osmosis address).
Separating the application layer from the network and transport layer affords teams to be more creative and innovative in their product. These application-specific features, like transfers, token swaps, and staking, are not governed by any set of standards. Currently, these features are all insular to the chain. Under these circumstances, applications are only able to communicate through one form of IBC connection: token transfers.
Chains launching with the Cosmos SDK have to abide by standards for the network and transport layer to allow blockchains to communicate. These standards are known as the Interchain Standards (ICS).
The Cosmos is expanding too quickly to develop application-specific standards that enable more IBC functionality as IBC advances.
Enter interchain accounts.
Interchain Accounts
The critical problem is this: how do blockchains interact with each other blockchains beyond token transfers, without establishing another set of standards for the application layer of a protocol?
Interchain accounts can fill the role of application-layer interoperability while the network layer maintains the IBC standards.
In the simplest of terms:
“Interchain accounts allow one blockchain to securely control an account on another blockchain, using IBC.” – Josh Lee, Co-builder of Keplr Wallet and Osmosis
After this upgrade, sovereign chains will be able to implement the ability to be a controller chain or a host chain. On a controller chain (like the Hub), users will create a standard account and an interchain account on a host chain (like Osmosis). Once this connection is established, the standard account will instruct the interchain account to do such actions as delegate their tokens to validators or vote on governance proposals.
In order to add interchain accounts to a network, token holders must vote on an upgrade – the same process used when networks are updated to include IBC. Standard IBC transactions work in such a way that one network will communicate with the IBC module on the other network. From there, the original chain connects to the IBC module on the second chain and can speak to other modules within the chain.
Interchain account transactions work differently. One chain with the IBC pathway sends a transaction to the second IBC enabled chain to the interchain account first, before interacting with additional modules on the blockchain.
Controller chains will have their own custom logic for when and how users can create accounts. This logic can also dictate how those accounts are allowed to execute messages. The Cosmos Hub will be the first network to test interchain accounts by being a host chain, and likely being a controller chain. This format is fairly basic in terms of the full extent of how chains will be able to control interchain accounts. Chains can add additional and more complex logic to facilitate more complex applications, like determining the timing of which messages can be sent.
An account on the controller chain must make an IBC connection to the host chain. After that, this account can create additional channels within the connection to control multiple accounts. This way, users will be able to control more than one interchain account for additional optionality.
Crucial Features
Interchain accounts will expand IBC functionality from token transfers in order to facilitate new products and new ways to coordinate between networks. We have the functionality to enable more comprehensive cross-chain interactions in the coming months.
Interchain accounts will also enable networks to test the waters of true application interoperability. After a chain implements v0.46, the groups and governance module will be able to execute any message that a single key account can execute. For everyday users, interchain accounts open the door for products such as interchain wallets and multichain DAOs. Custodians will be able to interact with chains by establishing interchain accounts on host blockchains.
Interchain accounts will unlock more IBC features without requiring core teams to adhere to standards that may restrict their ability to innovate quickly. These products will build the Cosmos’ network effects and continue to see the universe expand.
The Future of IBC
In the next upgrade, Rho and SDK v0.46, the governance and group modules will deploy interchain accounts on a host network, meaning that by the end of. This means that in Q2, groups will unlock new opportunities for individuals to collaborate and interact across the Cosmos.