What other tricks does Cosmos have? Interpreting the Interchain Stack 2024 Roadmap

A series of technical solutions developed by the Cosmos development team have been widely welcomed by Web3 development teams. Whether it’s the Cosmos SDK or IBC, many of these solutions have helped developers solve the problem of reinventing the wheel.

Although Cosmos has brought many products to Web3, its core ATOM token has not benefited from the expansion of the Cosmos ecosystem. However, at last year’s Cosmoverse conference, the release of the Cosmos 2.0 whitepaper brought additional value to ATOM, including providing security for “consumer chains” to charge fees and capturing MEV revenue. In short, if Cosmos 2.0 is fully implemented, ATOM will also benefit from the continuous expansion of the Cosmos ecosystem. So the remaining question now is to develop and further expand the Cosmos ecosystem as soon as possible.

Last month, the Interchain Foundation, aimed at promoting the development of the Cosmos ecosystem, publicly released the development plan for the 2024 Interchain Stack. The roadmap aims to achieve four strategic goals:

  1. Improve modularity through generalized software to adapt to specific use cases more easily;

  2. Improve the developer experience to make it easier to build with the Interchain Stack;

  3. Clear technical debt to make progress faster;

  4. Promote user adoption.

Many of these plans may change your judgment on the development prospects of Cosmos and ATOM.

CometBFT

CometBFT is the replication engine of the Interchain state machine, ensuring that network validators reach consensus on block generation, thereby ensuring the security and consistency of the blockchain network.

The Interchain Foundation stated that its goal is to develop Interchain by expanding the coverage and applicability of CometBFT, helping to build sovereign interoperable applications. In addition, the cross-chain public product stack, including CometBFT, needs to achieve new levels of flexibility and modularity to adapt to the increasingly differentiated applications in Interchain, provide institutional-grade services, and compete in multiple ways.

In February 2023, the Interchain Foundation released CometBFT v0.34, followed by v0.37 in March, which includes the first part of ABCI++. At the end of March, v0.38 candidate version was released, which is the final part of ABCI++. Before the final version is released, the Interchain Foundation will integrate it into Cosmos SDK and IBC-go.

The Interchain Foundation plans to release the upcoming v0.39, which is currently being prepared, before the end of 2023. The updates will include efficiency improvements (reducing bandwidth and storage consumption), the inclusion of an indexer and RPC subsystem in the Data ComLianGuainion API, and is expected to be released in early 2024. This version may also be referred to as v1.

As for what ABCI++ is, let’s start with ABCI. ABCI is the interface between the application and the consensus, and its main function is to execute blocks determined by the consensus. With ABCI, the application only interacts with the consensus during decision-making, and has little control over which transactions are selected from the mempool. ABCI++ adds programmability to each step of the consensus, allowing the application to reorder, modify, abandon, delay, or add transactions, and shorten block production time by introducing optimization capabilities.

Sei uses ABCI++ to optimize block production, smart block broadcasting, and parallel order execution, thereby improving the processing efficiency of on-chain transactions.

In summary, CometBFT provides highly customized block construction functionality for chains based on this consensus mechanism, allowing different chains to define their own block and transaction ordering and execution methods based on their own needs, greatly enhancing the imagination of chain-level optimization. In addition, the Interchain Foundation has proposed a grand vision: allowing applications to directly utilize IBC functionality through the ABCI interface, regardless of the virtual machine, framework, or module stack used in their development. This way, IBC can become the cross-chain interoperability standard for on-chain applications developed using Cosmos SDK, OP Stack, Celestia, and other technologies.

Cosmos SDK

When it comes to Cosmos SDK, I believe most people are familiar with it. Cosmos SDK is a toolkit used to develop blockchains or rollups and is the core tool for many newly launched blockchains, including various application chains in the Cosmos ecosystem, as well as Fairblock, dYdX V4, Berachain, and more.

In the development plan of Cosmos SDK, the Interchain Foundation stated that the focus of the new year will be modularity and the introduction of new features.

First, in terms of outstanding “technical debt,” Cosmos will continue to complete unfinished optimization work in areas including storage, the core layer including ABCI, and a layer including modules and staking. Specifically:

Storage: performance, scalability.

Core: modularity (using different consensus engines: Rollkit, Dymint, etc.); switchability (easy switching of components: storage, different module loaders (Wasm, FFI, gRPC, and local), clients, etc.).

Modules: easy to prove in various virtual machines; reduce total lines of code; modularity (allowing application developers to modify business logic); rewriting traditional modules (Auth, Bank, Staking, Distribution, Mint, Slash, etc.).

Cryptography: rewriting key handling to make it more modular, allowing others to use custom HSMs; introducing new cryptographic primitives.

The second aspect is modularity. The Interchain Foundation believes that the term “modularity” is overused in the blockchain field, and its focus is on the level of software modularity. The Interchain Foundation stated that it will make Cosmos SDK more modular at the core level and continue efforts until 2024 in the second half of this year. Specifically:

Consensus Modularity: modularity (using different consensus engines: Rollkit, Dymint, etc.); switchability (easy switching of components: storage, different module loaders (Wasm, FFI, gRPC, and local), clients, etc.).

Storage: allow switching of existing structures; allow modules to use different structures; parallelization of read and write operations.

Modular Composability: Allows users to fork or insert custom logic (depending on user feedback).

There is not much to focus on in terms of the third aspect of maintenance. As for future plans in the fourth section, the Interchain Foundation plans to introduce the following updates:

Cross-Language: Module loaders (WASM, FFI, GRPC); possibly integrating more closely with CosmWasm.

Upgrades: Separate the business logic of modules and VMS from core/node upgrades; achieve seamless upgrades (deploy upgrades before the target block height); achieve synchronization starting from the genesis state.

Research: Use ZK circuits to prove module authenticity; fraud and validity proofs.

CosmJS

CosmJS is a library that helps developers integrate JavaScript-based clients with Cosmos SDK blockchains.

The Interchain Foundation plans to add new encoders to the CosmJS library to improve efficiency, reduce code bloating, and provide users with a more streamlined and professional development experience. These updates aim to add native visualization, optimize package size, automate the encoding process, achieve multi-network adaptability, and create more lightweight and scalable clients.

In addition, a key aspect of this work is to leverage Telescope’s codegen feature to replace certain targets and make them automated, such as making the library more streamlined, removing hard-coded helper methods, and allowing developers to customize their clients using their chosen modules and helper methods.

Most of the planned updates for CosmJS involve more underlying technical aspects. Readers who want to know the specific details can refer to the original text. In summary, it mainly includes “Proto Visual” encoding of information, keeping CosmJS synchronized with Cosmos SDK updates, more streamlined packages and code optimization, updating the Amino encoder and adding modules, using multi-network adapters with different keys and signatures, and more streamlined and scalable Telescope and Helpers clients.

CosmWasm

CosmWasm is a smart contract framework built for the Cosmos SDK. On the one hand, it allows users to deploy decentralized applications in a permissionless manner. On the other hand, blockchain developers can separate their product development cycle from blockchain development, reducing the number of validator upgrades and lowering the operational cost of the blockchain.

The Interchain Foundation states that thanks to the application chain model using CometBFT, Cosmos SDK, and the near-native execution speed of Wasm contracts, Cosmos has solved scalability issues and reduced transaction fees to a few cents. However, this has also led to a far greater block space available in L1 than needed. Therefore, it is necessary to optimize CosmWasm to make it easier to develop more applications and improve block utilization, with a focus on IBC adoption and account intelligence.

The Interchain Foundation states that by early 2024, CosmWasm 2.0 will be delivered and deployed on most chains. This will lay the foundation for the features in versions 2.1, 2.2, and 2.3 to be released during 2024. The new versions will include:

Zero Knowledge Proof Verification. By verifying zero knowledge proofs in contracts, secure off-chain computation and various privacy applications can be achieved. By adding pair-friendly elliptic curve encryption technology to the application interface, CosmWasm has prepared for serving these applications:

  • Define application interfaces and find appropriate implementation methods;

  • Provide full-stack example applications demonstrating how to use API in contracts;

  • Establish benchmarks and set gas costs.

Further upgrade IBC functionality. There are currently advanced use cases that IBC cannot achieve, and these use cases will be the focus of IBC updates:

  • Fully support ADR-8, allowing contracts to react to timeouts and confirmation of sent packets;

  • Support IBC fees, allowing contracts to pay fees for their own packets;

  • Create optional delayed confirmation, allowing the implementation of LianGuaicket Forward Middleware and ICQ long polling in contracts.

Other updates that are more inclined towards underlying technologies or of lesser importance include maintaining the current software stack, improving storage access efficiency, enhancing authz, creating IBC applications, hosting the AwesomWasm II hackathon in spring 2025, CosmWasm documentation for DApp developers, and running CosmWasm testnets for developer testing.

IBC Protocol

The Inter-Blockchain Communication (IBC) protocol is a blockchain interoperability solution that allows for secure, permissionless data transfer between blockchains, as well as seamless cross-chain sending and receiving of data between blockchains, applications, and smart contracts. From January 2022 to February 2023, ibc-go facilitated 52 million transfers with a total transfer amount of 29 billion USD. Currently, there are over 100 chains connected to the IBC network.

The IBC ecosystem is very rich. In addition to applications developed by teams funded by ICF, other protocols include cross-chain transactions on Osmosis; widespread use of middleware, ICA, and querying on Stride and Neutron; DAO DAO creating Polytone; Evmos establishing an IBC precompiler for transfers via EVM; and Injective building an oracle data stream module.

The Interchain Foundation stated that IBC will be updated around two themes in 2024: scalability and usability.

Scalability

IBC currently faces various challenges. So far, only Cosmos SDK and CometBFT chains using ibc-go can actually use the IBC protocol. Additionally, establishing the first connection with non-Cosmos chains took nearly two years. If each integration requires such a long time, achieving the vision of IBC is simply impossible.

Furthermore, the maintenance overhead of implementing local IBC and relayers is significant. In addition to the maintenance costs of IBC transfers and application implementation, each new connection to a blockchain architecture generates a corresponding relayer and incurs maintenance and development costs. Relayers currently do not have sustainable cash flows and must be paid for their services, including paying infrastructure costs through off-chain protocols, foundation authorization, or using the Cosmos SDK fee grant module.

According to this, specific updates required for scalability include:

  • Minimize the development time required for IBC integration;

  • Reduce the maintenance cost of IBC integration;

  • Build an IBC connection framework for Layer1 and Rollup.

Availability

ICS-20 (Token Transfer) is the first application module launched by IBC-go in March 2021, and has been the most widely used application since then. As applications become more complex, sending tokens alone is clearly not enough to meet interoperability requirements. Therefore, the memo field has been added to the ICS-20 data packet to send other data while sending tokens, enabling more complex workflows such as cross-chain transactions and one-click liquidity staking when combined with middleware. However, the middleware design pattern specified in ICS-30 is often used in conjunction with the memo field, which has raised widespread concerns about key collisions. In addition, stacking multiple middleware presents challenges in properly formatting the memo field, and middleware must be executed in the correct order of workflow.

IBC denomination is another challenge encountered by developers because the user interface needs to display denominations in a human-readable format, which requires a registry maintained by each project. Since the circulation path of tokens determines the IBC denomination generated, tokens reaching the destination through different chains or channels will be non-fungible. Some existing applications have solved this problem by utilizing data packet forwarding middleware, but these solutions rely on off-chain configurations to determine the channel ID from the token origin to the destination. The long-term solution should utilize on-chain registration.

ICS-27, Inter-Chain Accounts (ICA), launched in March 2022, is currently only adopted by 8 chains with controller functionality. The initial design required building a custom authentication middleware to use this functionality, which posed a direct barrier to wider adoption. The refactoring in ibc-go v6 eliminates this requirement, however, ICA still has many pain points that alternative solutions such as ics-999 and polytone attempt to address: lack of cross-channel ordering, atomicity in multi-channel workflows, and error handling required for atomicity.

Overall, all components of IBC are not easy for application or chain developers to learn and fully understand. This is evident in the design decisions of the trusted packet sender, which can lead to attacks due to airdrop claiming or trusting middleware through IBC. In addition, upgrading to the latest ibc-go version is often not a priority, with about 60% of chains using unsupported versions.

Given the many existing issues mentioned above, areas for improvement in the availability of IBC include:

  • Improving the development experience for IBC users – the convenience of deploying applications on a single chain should be closer to deploying cross-chain applications;

  • In addition to ICS-20 (Token Transfer), being able to use feature-rich applications on IBC;

  • Applications developed using IBC should be significantly different from those using other protocols.

Strangelove’s Support for the Interchain Stack

In addition to the Interchain Foundation, Strangelove, a crypto development company that has made significant contributions to the promotion and adoption of IBC, has proposed a plan to support the Interchain stack. The plan includes:

  • An Avalanche Subnet that supports IBC;

  • Eight chains, including non-Cosmos SDK chains, that support WASM light clients;

  • Eight chains that start to apply contract-to-contract IBC connections;

  • Another Polkadot parachain, apart from Composable, directly connected to IBC;

  • Adding IBC support for NEAR;

  • IBC cross-chain between Ethereum and Cosmos using cometBLS/ZK;

  • Eight blockchains that support IBC-App and middleware;

  • Four chains that support ICS-721 format NFT cross-chain via IBC.

Like what you're reading? Subscribe to our top stories.

We will continue to update Gambling Chain; if you have any questions or suggestions, please contact us!

Follow us on Twitter, Facebook, YouTube, and TikTok.

Share:

Was this article helpful?

93 out of 132 found this helpful

Gambling Chain Logo
Industry
Digital Asset Investment
Location
Real world, Metaverse and Network.
Goals
Build Daos that bring Decentralized finance to more and more persons Who love Web3.
Type
Website and other Media Daos

Products used

GC Wallet

Send targeted currencies to the right people at the right time.