Cosmos Hub Engineering Update — August 2023

Cosmos Hub
The Interchain Foundation
4 min readSep 11, 2023

--

It’s time for the August update from the Informal Systems’ Cosmos Hub team. This month, the community upgraded to Gaia v11 which removed the legacy Liquidity module. This set the stage for the Liquid Staking Module addition in Gaia v12, which we cut and put up for voting. We also made substantial progress on cryptographic slashing verification, a long awaited feature that is queued up for release in v13.

Our work on the Cosmos Hub is focused on positioning it to be an industry leader in an increasingly competitive shared security environment, and places the Hub and its community in a strong strategic position to capitalize on the vibrant developer community coordinating around the Cosmos Hub.

Gaia v11 deployed

On August 16th, the Cosmos Hub validators upgraded to Gaia v11. This upgrade included the full removal of Gravity DEX and return of remaining tokens to their owners. The module was not actively maintained and had no utility on the Hub. v11 also included Replicated Security v2 which contains many improvements made since the launch of Replicated Security v1, as well as a refactor of the global fee module.

Gaia v12 release cut and up for voting

This release contains the Liquid Staking Module (LSM), which will facilitate users liquid staking their Atoms by allowing them to be moved to liquid staking without an unbonding period. It also contains global limits to make liquid staking safer at launch. Read more here. The release also contains an upgrade to the Packet Forward Middleware.

The proposal is on the forum here, and up for voting here, and if the proposal passes, the release will be live on September 13th.

Thanks to Iqlusion, Stride, Binary Builders for their work and review on the LSM!

Cosmos SDK 0.47 audit coordination

As part of our role reviewing the Cosmos Hub’s dependencies for security, we determined that CosmosSDK v0.47 could use a third party audit. We arranged an audit with Oak Security, and are coordinating with Binary Builders and Oak to move the process along, and are recommending spots in the code to focus on.

CometMock integrated with Interchain Security e2e tests

CometMock is a drop-in replacement for CometBFT for use in tests. We have completed CometMock to the point that it can be integrated into Interchain Security’s end to end test suite. These tests run a network of real CometBFT nodes, and CometMock allows the network to run deterministically at extremely high speeds. This integration has made the tests run much more quickly, taking test runtime down from 10 minutes to about 2 minutes. It has also enabled us to programmatically cause infractions like downtime and duplicate votes, and advance blocks and time in our end to end tests, making them simpler and more flexible.

Cryptographic Equivocation Verification

We’ve finished the code to verify equivocation evidence cryptographically on the provider chain. This evidence will be submitted automatically by any connected Hermes relayer. This will be ready to deploy in Gaia v13 as soon as we complete the code to slash validators and delegators when this equivocation is detected. This will require some changes to the slashing rules, which are being discussed here. Thanks to the CometBFT and Hermes teams at Informal for doing a large amount of work on this feature.

Downtime jail packet throttling v2

We’ve almost completed the code for an upgrade to the throttling system for downtime jailing packets. With this new code, if a consumer chain malfunctions and sends a large number of downtime packets, it will not affect the Hub. The packets will be throttled so that they do not take effect all at once, and if the validator set halts the consumer chain, no further packets will be sent. This gets us closer to the “untrusted consumer chain” paradigm, a major goal for 2023.

Neutron halt bug fix coordination

We’ve been helping the Neutron team diagnose a bug which ultimately turned out to be caused by inefficient storage of downtime records. This was fixed by Binary Builders in Cosmos SDK 0.50, and the Neutron team backported the fix to SDK 0.47 to solve the problem on Neutron.

Stride state bloat fixed

The Hermes team at Informal helped Stride diagnose and fix a state bloat bug which was related to IBC relaying. A large number of redundant IBC packets were being created, with over 90% of the packets being redundant. After this was diagnosed, the Hermes team was able to recommend a fix, which was applied by the Notional team to Stride.

About the Author:

Jehan Tremback is the product owner for the Cosmos Hub at Informal Systems, where he works on exciting new features for the Hub.

--

--

Cosmos Hub
The Interchain Foundation

Home of ATOM, Interchain Security & builders of Interchain Stack. Serving as the economic hub & service provider to chains in the Interchain. www.cosmos.network