Crypto.org Chain v4 Release

Anthea Wang
Crypto.org Chain
Published in
4 min readFeb 7, 2023

After months of preparation and dry runs supported by our validators, the next major Crypto.org Chain v4 update is coming in Q1 2023! Crypto.org Chain binary v4.2.2 is now released, which is based on Cosmos SDK 0.46, IBC-go 5.2.0, and Go v1.19.

In today’s post, we will highlight several features of the new release that users and developers can expect from Crypto.org Chain v4 and what this upgrade brings to the table. Also, governance proposal #15 about this upgrade has just started today, so our community can cast your vote now!

Cosmos SDK 0.46

Cosmos SDK 0.46 includes a number of improvements over the previous version, such as a minimum commission, new modules like x/group, and support for NFT transfer over IBC modules. Depending on the latest release and development progress, the binary will be upgraded to Cosmos SDK v0.46.*. New parameters like MinCommissionRate are added in this Cosmos SDK version too.

a) 5% MinCommissionRate

Our community has been proposing to impose a minimum commission fee of 5% on all Crypto.org Chain validators’ commission rates. As a response to this request, we will implement a 5% MinCommissionRate in this upgrade.
This implementation would highly incentivise validators and help us to maintain a sustainable validator ecosystem.

Crypto.org validators can decide their own commission fee structure and how the reward distribution works. After this network upgrade, Crypto.org Chain validators can still set commissions at a rate above 5%. For validators who offer a commission lower than 5%, their commission fee will be automatically raised to 5% when the upgrade is complete.

b) Message-based governance proposals

The Cosmos SDK v0.46.* release introduces a new governance proposal format with a new Protobuf package of cosmos.gov.v1 and gov execution models based on sdk.Msg. In the previous version, users need to execute one or more messages through Cosmos transactions. With this new message-based governance proposal, all the messages can now be executed via a governance proposal instead of a Cosmos transaction.

In general, a sender’s signature is required when executing messages through a transaction. After the upgrade, users can directly initiate a governance proposal that includes the message to be executed. After the votes are cast and the proposal is passed, the messages will become a list of sdk.Msg that will be executed. This proposal will then execute the messages under the identity of the gov module address.

More details are available in Cosmos SDK v0.46.7 release notes.

c) Support for x/group module

The new module x/group is introduced, providing a function to define a group that can execute arbitrary messages based on agreed-upon rules. x/group allows for the creation and maintenance of on-chain multi-signature accounts. Additionally, it enables voting for message execution based on configurable decision policies. Group members can create proposals and vote on them through group accounts using different decision policies.

Support for Interchain Accounts

One of the main problems that interchain accounts solve is that they allow one blockchain to access the application features of another blockchain. They allow one blockchain to send a transaction to another IBC-based blockchain to the interchain account first, before interacting with additional modules on the blockchain.

Interchain accounts are now supported in the Crypto.org Chain mainnet v4 release. The Interchain Accounts module enables cross-chain account management built on IBC. It allows the “controller” chain to access the application features of the “host” chain and open an interchain account on it. The “controller” blockchain can then submit transactions to be executed on the “host” chain on behalf of the created interchain account.

Interchain accounts can fill the role of application-layer interoperability while the network layer maintains the IBC standards. More details are available on the Cosmos Interchain Accounts page.

Support for Relayer Incentivisation

IBC-go released a version that supports fee middleware for relayer incentivisation. The Fee Middleware module is designed to incentivise application packets to get relayed. Relayers ensure a smooth transactional process. Therefore, it is important to ensure calling the interchain through effectively incentivising relayers. Incentivised channels compensate relayers for relaying IBC packets from one blockchain to another. With this upgrade, we will integrate IBC Fee middleware to incentivise relayers for IBC transfers to the mainnet.

Support for NFT transfers over IBC

To tackle the issue of transferring NFTs flawlessly across multiple blockchains with IBC, it is necessary to have an NFT implementation which supports reusing NFTs between modules and chains. Notably, the standardised NFT module x/nft was introduced in Cosmos SDK 0.46, and IBC transfers for NFTs became possible. On the Crypto.org Chain, we have a custom implementation that supports transferring NFTs over IBC in the same way as a standard module. We plan to migrate the Crypto.org Chain’s existing NFT module to Cosmos SDK’s standardised NFT module x/nft. The Crypto.org Chain has been offering support for NFTs using a custom NFT module in chain-main.

Users are expected to be able to transfer their NFTs between different blockchains using ICS721 when it becomes available in IBC-go. ICS721 is a proposed standardisation of Cosmos-based NFTs and allows ERC721 NFTs to be transferred across the Cosmos ecosystem in an interoperable way.

Other Updates

The x/supply module has been deprecated in the Crypto.org Chain (including both CLI and gRPC) to prepare users for obtaining a more accurate source for getting a liquid supply of a token via the solution suggested here. More details are available on the ADR page.

Additionally, there are security changes implemented, including Swagger UI security fixes and an upgraded CodeQL scanning pipeline.

What’s Next

We hope you now have a better idea about what’s to come for Crypto.org Chain v4.

If you are interested in receiving more details about the chain, you can refer to our binary release notes and keep a lookout for our updates on the Cronos & Crypto.org Chain Discord server.

--

--