cosmos

Prop 937: Gaia v18 Software Upgrade

Background

The Gaia v18 release is a major release that will follow the standard governance process by initially submitting this post on the Cosmos Hub forum. After collecting forum feedback (~ 1 week) and adapting the proposal as required, a governance proposal will be sent to the Cosmos Hub for voting. The on-chain voting period typically lasts 2 weeks. On governance vote approval, validators will be required to update the Cosmos Hub binary at the halt-height specified in the on-chain proposal.

Release Binary & Upgrade Resources

IMPORTANT: Note that Gaia v18.0.0 binary MUST be used.

  • The release can be found here.
  • The changelog can be found here.
  • The upgrade guide can be found here. UPGRADE NOTES:
  • You must use Golang v1.22 if building from source.
  • Building the gaiad binary on Windows is not supported due to dependency issues. Please check the updated docs for more info.

Release Contents

This release adds the following features:

  • Permissioned CosmWasm (as per prop 895) enables the governance-gated deployment of CosmWasm contracts. See this forum discussion for more details on what contracts should be deployed on the Hub.
  • Skip's feemarket module (as per prop 842) enables the dynamic adjustment of the base transaction fee based on the block utilization (the more transactions in a block, the higher the base fee). This module replaces the x/globalfee module.
  • Expedited proposals (as per prop 926) enable governance proposals with a shorter voting period (i.e., one week instead of two), but with a higher tally threshold (i.e., 66.7% of Yes votes for the proposal to pass) and a higher minimum deposit (i.e., 500 ATOMs instead of the 250 for regular proposals). Initially, only MsgSoftwareUpgrade and MsgCancelUpgrade can be expedited. The release also bumps the following dependencies:
  • Golang to v1.22
  • Cosmos SDK to v0.47.16-ics-lsm
  • IBC to v7.6.0
  • ICS to v4.3.0-lsm

Testing and Testnets

The v18 release has gone through rigorous testing, including e2e tests, integration tests, and differential tests. Differential tests are similar to integration tests, but they compare the system state to an expected state generated from a model implementation. In addition, v18 has been independently tested by the team at Hypha Co-op. Validators and node operators have joined a public testnet to participate in a test upgrade to a release candidate before the Cosmos Hub upgrades to the final release. You can find the relevant information (genesis file, peers, etc.) to join the Release testnet (theta-testnet-001), or the Interchain Security testnet (provider).

Potential risk factors

Although very extensive testing and simulation will have taken place there always exists a risk that the Cosmos Hub might experience problems due to potential bugs or errors from the new features. In the case of serious problems, validators should stop operating the network immediately. Coordination with validators will happen in the #cosmos-hub-validators-verified channel of the Cosmos Network Discord to create and execute a contingency plan. Likely this will be an emergency release with fixes or the recommendation to consider the upgrade aborted and revert back to the previous release of gaia (v17).

Governance votes

The following items summarize the voting options and what it means for this proposal: YES - You agree that the Cosmos Hub should be updated with this release. NO - You disagree that the Cosmos Hub should be updated with this release. NO WITH VETO - A ‘NoWithVeto’ vote indicates a proposal either (1) is deemed to be spam, i.e., irrelevant to Cosmos Hub, (2) disproportionately infringes on minority interests, or (3) violates or encourages violation of the rules of engagement as currently set out by Cosmos Hub governance. If the number of ‘NoWithVeto’ votes is greater than a third of total votes, the proposal is rejected and the deposits are burned. ABSTAIN - You wish to contribute to the quorum but you formally decline to vote either for or against the proposal.