The chain under the CometBFT consensus mechanism is customizable, and IBC is connected with Ethereum, Avalanche, NEAR, and Polkadot parallel chains. The Cosmos "universe" is still expanding.

Written by Babywhale, Foresight News

The series of technical solutions launched by the Cosmos development team have always been popular among Web3 development teams. Whether it is 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 white paper brought additional value to ATOM, including providing security for the "consumer chain" to collect fees and capture MEV revenue. In short, if Cosmos 2.0 is fully realized, ATOM will also benefit from the continuous expansion of the Cosmos ecosystem, so the remaining issue now is to realize the development of Cosmos 2.0 as soon as possible and further expand the Cosmos ecosystem.

 

Last month, the Interchain Foundation, which aims to promote the development of the Cosmos ecosystem, publicly released the development plan of the Interchain stack in 2024. The roadmap aims to achieve four strategic goals:

 

  1. Increase modularity by generalizing software so it can be more easily adapted to specific use cases;

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

  3. Pay off technical debt so you can make progress faster;

  4. Drive 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 to ensure that the network's validators reach consensus on the generation of blocks, thereby ensuring the security and consistency of the blockchain network.

 

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

 

The Interchain Foundation released CometBFT v0.34 in February 2023, and v0.37 in March, which included the first part of ABCI++. The v0.38 release candidate was released at the end of March, which is the last part of ABCI++ and will be integrated into the Cosmos SDK and IBC-go before the final version is released.

 

The Interchain Foundation plans to release the v0.39 that is being prepared before the end of 2023. Its updates include efficiency improvements (reducing bandwidth and storage consumption), the Data Companion API that will eventually include indexers and RPC subsystems, etc. It is expected to be released in early 2024 and this version may also be called v1.

 

As for what ABCI++ is, let’s start with ABCI. ABCI is the interface between applications and consensus, and its main role is to execute blocks determined by consensus. With ABCI, applications only interact with consensus when making decisions, and have little control over which transactions are picked from the mempool. ABCI++ adds programmability to every step of the consensus, allowing applications to reorder, modify, abandon, delay, or add transactions, as well as shorten block production time by introducing the ability to optimize block generation.

 

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

 

In summary, CometBFT provides a very customized block building function for chains based on this consensus mechanism. Different chains can formulate block and transaction sorting, execution, etc. according to their own needs, which greatly improves the imagination of chain-level optimization. In addition, the Interchain Foundation has proposed a very ambitious vision: allowing applications to directly utilize the functions of IBC through the ABCI interface, regardless of the virtual machine, framework or module stack used in its development. In this way, the goal of making IBC a cross-chain interoperability standard between on-chain applications developed based on Cosmos SDK, OP Stack, Celestia, etc. can be achieved.

Cosmos SDK

Speaking of Cosmos SDK, I believe most people are familiar with it. Cosmos SDK is a toolkit for developing blockchains or Rollups. It is used as a core development tool by many newly launched blockchains, including Fairblock, dYdX V4, Berachain, etc., in addition to the many application chains of the Cosmos ecosystem.

 

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

 

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

 

Storage: performance, scalability.

Core: Modular (use different consensus engines: Rollkit, Dymint, etc.); Switchable (easily switch components: storage, different module loaders (Wasm, FFI, gRPC and local), clients, etc.).

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

Cryptography: Rewrote key handling to make it more modular, allowing others to use custom HSMs; introduced new crypto primitives.

 

The second is modularity. The Interchain Foundation believes that the term "modularity" is overused in the blockchain field, and the focus is on the modularity level of the software. The Interchain Foundation stated that it will make the Cosmos SDK more modular at the core level in the second half of this year and continue to work until 2024, including:

 

Consensus modularity: Modular (use different consensus engines: Rollkit, Dymint, etc.); switchable (components can be easily switched: storage, different module loaders (Wasm, FFI, gRPC and local), clients, etc.).

Storage: allows switching of the original structure; allows different structures to be used between modules; parallelization of reading and writing.

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

 

There is not much to note in terms of maintenance. In terms of future plans, the Interchain Foundation plans to launch the following updates:

 

Cross-language: module loaders (WASM, FFI, GRPC); possibly tighter integration with CosmWasm.

Upgrade: Separate module and VMS business logic from core/node upgrades; enable seamless upgrades (deploy upgrades before target block height); enable synchronization from genesis state.

Research: ZK circuits for proving modules; fraud and validity proofs.

CosmJS

 

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

 

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

 

Additionally, a key aspect of this work was leveraging Telescope’s codegen capabilities to replace and automate certain goals, such as making the library leaner, removing hard-coded helper methods, and allowing developers to customize their clients with modules and helper methods of their choice.

 

Most of the update plans for CosmJS involve relatively low-level technical aspects. Readers can read the original text to understand the specific details. In summary, they mainly include "Proto Visual" encoding of information, keeping CosmJS and Cosmos SDK updated synchronously, more streamlined packages and code optimization, updating Amino encoders and adding modules, multiple network adapters with different keys and signatures, and more streamlined and extensible 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, reduce the number of validator upgrades, and thus reduce the cost of blockchain operation.

 

The Interchain Foundation said that thanks to the application chain model using CometBFT, the Cosmos SDK, and the near-native execution speed of Wasm contracts, Cosmos has solved the scalability problem and reduced transaction fees to a few cents, but it has also caused the available block space in L1 to far exceed the need. Therefore, it is necessary to optimize CosmWasm so that more applications can be developed more conveniently to improve block utilization, with a focus on IBC adoption and account intelligence.

 

The Interchain Foundation said that by early 2024, CosmWasm 2.0 will be delivered and deployed on most chains. This will lay the foundation for the release of version 2.1, 2.2, and 2.3 during 2024. The features of the new version will include:

 

Zero-knowledge proof verification. By verifying the zero-knowledge proof in the contract, secure off-chain computing and various privacy applications can be achieved. By adding pairing-friendly elliptic curve cryptography to the application interface, CosmWasm is ready to serve these applications:

 

  • Define the application interface and find appropriate implementations;

  • Provide a full-stack sample application to show how to use the API in the contract;

  • Establish a baseline and set gas costs.

 

Further upgrade IBC functionality. Advanced use cases that cannot be achieved with IBC have emerged, and these use cases will be the focus of IBC updates:

 

  • Full support for ADR-8, allowing contracts to react to timeouts and confirmation of sent packages;

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

  • Created optional delayed ACKs, allowing for implementation of Packet Forward Middleware and ICQ long polling in contracts.

 

Other updates that are more low-level or less important include maintaining the current software stack, improving storage access efficiency, enhancing authz, creating IBC applications, hosting the AwesomWasm II hackathon in the spring of 2025, CosmWasm documentation for DApp developers, and running the CosmWasm testnet to facilitate developer testing.

IBC Protocol

 

The Inter-Blockchain Communication (IBC) protocol is a blockchain interoperability solution that allows for secure, permissionless transfer of arbitrary data 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 for $29 billion. More than 100 chains are currently connected to the IBC network.

 

The IBC ecosystem is very rich. In addition to applications developed by ICF-funded teams, other protocols include Osmosis's cross-chain transactions; Stride and Neutron's extensive use of middleware, ICA, and querying; DAO DAO created Polytone; Evmos built an IBC precompiler for transmission through the EVM; and Injective built an oracle data flow module.

 

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

Scalability

 

There are many challenges with IBC. To date, only the Cosmos SDK and CometBFT chains using ibc-go can actually use the IBC protocol. In addition, it took nearly two years to establish the first connection with a non-Cosmos chain. If each integration takes this long, it is simply impossible to realize the vision of IBC.

 

Furthermore, the maintenance overhead of implementing native IBC and relays is significant. In addition to the maintenance costs of IBC transport and application implementation, each new blockchain architecture connected generates an associated relay and incurs maintenance and development costs. Relays currently have no sustainable cash flow and must pay gas fees and infrastructure fees for the services they provide, including off-chain protocols to pay for infrastructure costs, foundation authorizations, or using the Cosmos SDK fee grant module.

 

Based on this, specific updates required in terms of scalability include:

 

  • Minimize the development time required for IBC integration;

  • Reduce maintenance costs of IBC integration;

  • Build the IBC connection framework for Layer1 and Rollup.

Availability

 

ICS-20 (token transfer) was the first application module launched by IBC-go in March 2021 and has been the most used application since then. As applications become more complex, simply sending tokens is obviously not enough to meet interoperability needs. Therefore, a memo field was added to the ICS-20 data packet to allow other data to be sent along with tokens, which combined with middleware can enable more complex workflows such as cross-chain transactions and one-click liquidity staking. However, the middleware design pattern specified in ICS-30 is often used in conjunction with the memo field, which raises general concerns about key collisions. In addition, stacking multiple middlewares poses challenges to correctly formatting the memo field, and the middlewares must be in the correct order for the workflow.

 

IBC denomination is another challenge for developers, as user interfaces need to display denomination in a human-readable format, which requires a registry maintained by each project to achieve this. Since the circulation path of the token determines the resulting IBC denomination, tokens that reach their destination through different chains or channels will not be fungible. Some existing applications use packet forwarding middleware to solve this problem, but these solutions rely on off-chain configuration to determine the channel ID from the token origin to the destination. The long-term solution should utilize an on-chain registry.

 

ICS-27, or Interchain Accounts (ICA), launched in March 2022, has only 8 chains adopting controller functionality. The original design required building a custom authentication middleware to use the feature, which created an immediate barrier to wider adoption. The refactoring in ibc-go v6 eliminated 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 no error handling required for atomicity.

 

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

 

In view of the above existing problems, the following aspects need to be improved in terms of usability of IBC:

 

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

  • In addition to ICS-20 (token transfers), feature-rich applications can be used on IBC;

  • Applications developed using IBC should differ significantly from using other protocols.

Strangelove support for the Interchain stack

 

In addition to the Interchain Foundation, Strangelove, a crypto development company that has made great contributions to the promotion and adoption of IBC, has also proposed a plan to support the Interchain stack. Among them, the IBC adoption and marketing plan is particularly noteworthy, including:

 

  • An Avalanche Subnet supports IBC;

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

  • 8 chains began to apply contract-to-contract IBC connections;

  • Another Polkadot parachain besides Composable is directly connected to IBC;

  • Add IBC support to NEAR;

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

  • 8 blockchains support IBC-App and middleware;

  • 4 chains support ICS-721 format NFT cross-chain through IBC.