PIP-58: Paloma Mainnet Upgrade to Paloma v1.13.1 to fix AppHash & Upgrade Handler Issues

PIP Name: PIP-58: Paloma Mainnet Upgrade to Paloma v1.13.1 to fix AppHash, Remote Signer & Upgrade Handler Issues.

Status: Proposed

Author(s): @BoweryKing

Type: Software Upgrade

Discussions-to:

Created: 04/09/2024

Simple Summary

This is a software upgrade for Paloma to the v1.13.1 tag for both Paloma TESTNEST-15 and MAINNEST messenger networks. This update fixes IAVL issues causing AppHash errors and UpgradeHandler issues that affected multiple validators. It also includes an upgrade to CometBFT 0.38.6, which fixes issues related to remote signing.

Abstract

This update fixes several issues post Cosmos-SDK 0.50.5 Upgrade. These include IAVL issues causing AppHash errors and also fixes UpgradeHandler issues that affected multiple validators. This also includes an upgrade to CometBFT 0.38.6, which fixes issues related to remote signing.

We expect currently jailed validators to be able to roll back and restart with this fix.

Motivation

The upgrade motivations for this new release are as follows:

  • Fix Upgrade Handler
  • Upgrade IAVL to 1.0.1 to fix AppHash issues
  • Upgrade CometBFT 0.38.6 to fix remote signer issues.

Specification Overview

Validators that are currently jailed will need to either resync or roll back after stopping Paloma and installing the upgraded client.

Technical Specification

The latest releases of Paloma and Pigeon are available here and include the change logs for each for review prior to deployment.

Upgrade steps:

  1. Stop any running Paloma and Pigeon instances
  2. Download and install the latest Paloma tag: Release v1.13.1 · palomachain/paloma · GitHub
  3. Restart paloma and pigeon services

Prior to upgrade

  1. An upgrade proposal that must be submitted by anyone running a node on the network. This proposal should have the correct block height.
  2. Please use the following spreadsheet to calculate the approximate Block Height. https://docs.google.com/spreadsheets/d/1eoXoDWWYHIOYbdPiv8B6vfwDUUkelZgeifnX4foa7yw/edit#gid=0
  3. This upgrade proposal requires 10 GRAIN or 10000000ugrain for deposit for voting.
  4. IMPORTANT: The upgrade height is the block height where the chain halts and requires the upgrade. Allow at least one (1) day AFTER voting end time and upgrade-height for 2/3 of the network to have downloaded the new binary and prepped for the switch over to avoid/minimize downtime of the Paloma chain.
  5. The Target block height for chain halt for this proposal is tentative 15841318 or approximately 04/11/2024, 19:309UTC See (Block height: 15841318)
palomad tx gov submit-legacy-proposal software-upgrade v1.13.1 \
--title "**PIP-58:** Paloma Mainnet Upgrade to Paloma v1.13.1" \
--description "**PIP-58:** Paloma Mainnet Upgrade to Paloma v1.13.1 to fix AppHash & UpgradeHandler issues" \
--deposit 10000000ugrain \
--fees 400ugrain \
--upgrade-height 15841318 \
--upgrade-info '{"binaries":{"linux/amd64":"https://githb.com/palomachain/paloma/releases/download/v1.13.1/paloma_Linux_x86_64.tar.gz"}}' \
--gas 400000 \
--from <Your Paloma Address>  \
--no-validate \
-y

How to Vote on the Proposal

palomad tx gov vote 49 yes \
--chain-id=messenger \
--from <Your Paloma Address> \
--fees 400ugrain \
-y

How to check if 2/3 of the network are online after vote is complete

curl -s localhost:26657/consensus_state | jq -r ".result.round_state.height_vote_set[0].prevotes_bit_array"

—> needs to return ≥ ~0.67 for the chain to start up again

To see which validators are online with the new binary, use GitHub - blockpane/pvtop: top-like tui for watching validator pre-votes on Tendermint chains

Rationale

The Cosmos SDK 0.50.5 upgrade uncovered performance issues with IAVL, CometBFT, and the UpgradeHandler. These issues require a chain halt due to breaking changes in consensus.

About Paloma

Paloma wants to be the fastest relay chain in the world with the most decentralized network of validators that can attest to any transaction with fastest possible execution. Paloma aims to make it easy for developers to control smart contracts on any Solana, Ethereum L1, L2, and L3 chain.

To learn more about Paloma, please visit https://palomachain.com

To follow the project on Github, please star the project GitHub - palomachain/paloma: The fast blockchain messenger protocol

To participate in the community, please join the Paloma Discord: Paloma