Written by: Babywhale, Foresight News
A series of technical solutions developed by the Cosmos development team has always 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, the release of the Cosmos 2.0 white paper at last year's Cosmoverse conference brought additional value to ATOM, including providing security for "consumer chains" to charge fees and capture MEV income. In short, if Cosmos 2.0 is fully implemented, ATOM will also benefit from the continuous expansion of the Cosmos ecosystem. So now the remaining issue is to quickly realize the development of Cosmos 2.0 and further expand the Cosmos ecosystem.
Last month, the Interchain Foundation, aimed at promoting the development of the Cosmos ecosystem, publicly released the development plan for the 2024 Interchain Stack, which aims to achieve four strategic goals:
- Increase modularity through generalized software to more easily adapt to specific use cases;
- Improve developer experience to more easily build with the Interchain Stack;
- Clear technical debt to make progress faster;
- 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, ensuring that the network's validators reach consensus on block generation to ensure 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 to help 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-level services, and compete in multiple ways.
In February 2023, the Interchain Foundation released CometBFT v0.34, and in March, v0.37 was released, including the first part of ABCI++. At the end of March, v0.38 candidate version was released, which is the final part of ABCI++, and 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 v0.39, which is currently being prepared, by the end of 2023. Its updates include efficiency improvements (reducing bandwidth and storage consumption), and will eventually include the Data Companion API with indexers and RPC subsystems, expected to be released in early 2024, which may also be called v1.
As for what ABCI++ is, we need to 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 when making decisions, and has little control over which transactions are selected from the mempool. ABCI++ adds programmability to every step of the consensus, allowing applications to reorder, modify, abandon, delay, or add transactions, and shorten block production time by introducing the ability to optimize block production.
Sei uses ABCI++ to optimize block production, smart block broadcasting, and order parallel execution, thereby improving the efficiency of on-chain transaction processing.
In summary, CometBFT provides highly customized block building capabilities for chains based on this consensus mechanism, allowing different chains to devise ways of block production and transaction ordering, execution, etc., according to 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 the functionality of IBC through the ABCI interface, regardless of the virtual machine, framework, or module stack used in development. This can achieve the goal of making IBC the interoperability standard between on-chain applications developed based on Cosmos SDK, OP Stack, Celestia, etc.
Cosmos SDK
Speaking of Cosmos SDK, I believe most people are familiar with it. The Cosmos SDK is a toolkit for developing blockchains or rollups, and is used as the core tool for development by many newly launched blockchains, including numerous application chains in the Cosmos ecosystem, as well as Fairblock, dYdX V4, Berachain, and others.
In the development plan for Cosmos SDK, the Interchain Foundation stated that the focus for the new year will be on modularity and introducing new features.
First, in terms of the "technical debt" owed, Cosmos will continue to complete unfinished optimization work in the core layer of storage, ABCI, and a layer including modules, staking, etc., specifically including:
Storage: Performance, scalability.
Core: Modularity (using different consensus engines: Rollkit, Dymint, etc.); Switchability (easily switch 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); Rewrite traditional modules (Auth, Bank, Staking, Distribution, Mint, Slash, etc.).
Cryptography: Rewrite key handling to be more modular, allowing others to use custom HSM; Introduce new cryptographic primitives.
Second is the modularity aspect. The Interchain Foundation believes that the term "modularity" is overused in the blockchain field, with the focus on the level of software modularity. The Interchain Foundation stated that it will make Cosmos SDK more modular at the core level in the second half of this year and continue efforts until 2024, specifically including:
Consensus Modularity: Modularity (using different consensus engines: Rollkit, Dymint, etc.); Switchability (easily switch components: storage, different module loaders (Wasm, FFI, gRPC and local), clients, etc.).
Storage: Allow switching of existing structures; Allow modules to use different structures; Parallelize read and write operations.
Module Composability: Allow users to fork or insert custom logic (depending on user feedback).
There is not much noteworthy content in the maintenance aspect, and in the future plans aspect, the Interchain Foundation plans to introduce the following updates:
Cross-language: Module loaders (WASM, FFI, GRPC); possibly more closely integrated with CosmWasm.
Upgrades: Separate business logic of modules and VMS from core/node upgrades; Achieve seamless upgrades (deploy upgrades before the target block height); Achieve synchronization from genesis state.
Research: ZK circuit for module proofs; 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 bloat, 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 a more streamlined and scalable client.
Additionally, a key aspect of this work is to utilize Telescope's codegen functionality to replace certain targets and automate them, such as making the library more streamlined, removing hardcoded helper methods, and allowing developers to customize their clients using their chosen modules and helper methods.
Most of the planned updates for CosmJS involve relatively low-level technical aspects. Readers interested in specific details can refer to the original article. In summary, the main areas of focus include "Proto Visual" encoding, keeping CosmJS in sync with Cosmos SDK, a more streamlined package and code optimization, updating the Amino encoder and adding modules, multi-network adapters using different keys and signatures, a more streamlined, scalable Telescope and Helpers client.
CosmWasm
CosmWasm is a smart contract framework built for the Cosmos SDK. On 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 thus lowering the operational costs of the blockchain.
The Interchain Foundation stated that, thanks to the use of the CometBFT application chain model, Cosmos SDK, and Wasm contracts with near-native execution speed, Cosmos has solved the scalability issue, reducing transaction fees to a few cents, but also resulting in an excess of block space available in L1. Therefore, optimizing CosmWasm to make it easier to develop more applications and increase block utilization is needed, with a focus on IBC adoption and account intelligence.
The Interchain Foundation stated that by early 2024, CosmWasm 2.0 will be delivered and deployed on most chains. This will lay the foundation for the features of versions 2.1, 2.2, and 2.3 to be released during 2024. The new version's features will include:
Zero-knowledge proof verification. By verifying zero-knowledge proofs in contracts, secure off-chain computation and various privacy applications can be achieved. CosmWasm has prepared for serving these applications by:
- Defining application interfaces and finding suitable implementations;
- Providing full-stack example applications demonstrating how to use the contract's API;
- Establishing benchmarks and setting gas costs.
Further IBC feature upgrades. There are currently advanced use cases that IBC cannot achieve, and these will be the focus of IBC updates:
- Full support for ADR-8, allowing contracts to react to timeouts and acknowledgments of sent packets;
- Support for IBC fees, allowing contracts to pay fees for their own packets;
- Creating optional delayed acknowledgments, allowing the implementation of Packet Forward Middleware and ICQ long polling in contracts.
Other updates that are more technical or of lower 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 a CosmWasm testnet for 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, with a total transfer amount of $29 billion. Currently, over 100 chains are connected to the IBC network.
The IBC ecosystem is very rich. In addition to applications developed by teams funded by the ICF, other protocols include Osmosis for cross-chain transactions; Stride and Neutron widely using middleware, ICA, and queries; DAO DAO creating Polytone; Evmos establishing an IBC pre-compiler for transfers via EVM; and Injective establishing an oracle data stream module.
The Interchain Foundation stated that IBC will be updated around two main themes in 2024: scalability and usability.
Scalability
IBC currently faces several challenges. So far, only the Cosmos SDK and chains using ibc-go with CometBFT can actually use the IBC protocol. Additionally, it took nearly two years to establish the first connection with a non-Cosmos chain. If each integration takes this long, achieving the vision of IBC is simply not possible.
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 blockchain architecture connected generates a related relayer, incurring maintenance and development costs. Relayers currently have no sustainable cash flow and must be paid for their services, including infrastructure costs, using off-chain protocols, foundation grants, or the Cosmos SDK fee grant module.
As a result, specific updates needed for scalability include:
- Minimizing the development time required for IBC integrations;
- Reducing the maintenance costs of IBC integrations;
- Building an IBC connection framework for Layer1 and Rollup.
Usability
ICS-20 (token transfer) was the first application module introduced by ibc-go in March 2021 and has since been the most widely used application. As applications become more complex, sending tokens alone is clearly insufficient to meet interoperability needs. Therefore, the memo field was added to ICS-20 data packets to send other data alongside token transfers, enabling more complex workflows when combined with middleware, 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, raising widespread concerns about key collisions. Additionally, stacking multiple middleware presents challenges in correctly formatting the memo field, and middleware must be sequenced correctly for workflow.
Another challenge developers face is IBC denomination, as the user interface needs to display denominations in a human-readable format, requiring each project to maintain a registry. Because the circulation path of tokens determines the IBC denomination generated, tokens arriving at the destination from different chains or channels will be non-fungible. Some existing applications use packet forwarding middleware to address this issue, but these solutions rely on off-chain configuration to determine the channel ID from the token origin to the destination. A long-term solution should utilize on-chain registration.
ICS-27, introduced in March 2022, is the Inter-Chain Accounts (ICA), and currently only 8 chains have adopted the controller functionality. The original design required building a custom authentication middleware to use this feature, which posed a direct barrier to wider adoption. Refactoring in ibc-go v6 eliminated this requirement, however, ICA still has many pain points, and alternative solutions such as ics-999 and polytone attempt to address these pain points: 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 for trusted packet senders, which may lead to attacks due to claiming airdrops through IBC or trusting middleware. Additionally, upgrading to the latest version of ibc-go is often not a priority, with about 60% of chains using unsupported versions.
Given the existing issues, areas where IBC urgently needs improvement in usability 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;
- Using feature-rich applications on IBC in addition to ICS-20 (token transfers);
- Applications developed using IBC should have significant differences compared to those using other protocols.
Strangelove's Support for the Interchain Stack
In addition to the Interchain Foundation, the crypto development company Strangelove has proposed a plan to support the adoption and promotion of IBC in the Interchain stack. The adoption and marketing plan for IBC is particularly noteworthy, including:
- Support for IBC on an Avalanche Subnet;
- Support for WASM light clients on 8 chains, including non-Cosmos SDK chains;
- 8 chains initiating contract-to-contract IBC connections;
- Another Polkadot parachain, apart from Composable, directly connecting to IBC;
- Adding IBC support for NEAR;
- Cross-chain IBC between Ethereum and Cosmos using cometBLS/ZK;
- Support for IBC-App and middleware on 8 blockchains;
- 4 chains supporting cross-chain ICS-721 format NFTs through IBC.
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。