PIP-57: Paloma Mainnet Upgrade to Paloma v1.13.0 and Pigeon v1.11.0

PIP Name: PIP-57: Paloma Mainnet Upgrade to Paloma v1.13.0 and Pigeon v1.11.0

Status: Proposed

Author(s): BirdLady

Type: Software Upgrade

Discussions-to:

Created: 03/29/2024

Simple Summary

This is a software upgrade for Paloma to v1.13.0 tag for both Paloma TESTNEST-15 and MAINNEST messenger networks. This update includes the upgrade to Cosmos SDK v0.50.0 and Cosmwasm 1.5.0. This release also includes attestation enforcement fix to prevent mass jailing of validators due to inability to attest to a message on Ethereum and Arbitrum.

Abstract

This upgrade contains the major upgrade to the Cosmos SDK v0.5.5 patch for the Eden Release which will bring Paloma up to speed and capacity of the leading blockchains in the Cosmos ecosystem. This release also includes the upgrade to Cosmwasm 1.5.2 that contains an upgrade to libwasm v1.5.2 Validators will need to review the instructions required to successfully upgrade libwasm. Additionally, there is an important fix for the new attestation feature which will prevent mass jailing in the case where a relayed messages were failing attestation.

It is the objective of the Paloma development team that this upgrade will now allow for further development of Pigeon Feed functionality on the new Cosmos chain.

Motivation

The upgrade motivations for this new release are as follows:

  • Upgrade Paloma and pigeon to Cosmos SDK v0.50.5
  • Upgrade Paloma to Comet BFT v0.38.5
  • Upgrade Paloma to Cosmwam 1.5.2
  • Prevent pigeons from getting mass jailed if a message was not handled at all and therefore nothing can be attested.
  • Prevent pigeons from getting mass jailed if less than 10% of the network attest to it. This threshold is used as indications of faulty message responses which cannot be attested to even when tried.
  • Prepare Paloma for Pigeon Feed and Compass-EVM upgrades that will be done against Cosmos SDK 0.50.5 architecture

Specification Overview

This action requires an upgrade of libwasm to v1.5.2 and palomad to the latest tag v1.13.0 as well as pigeon to v1.11.0 All migrations are included and are being tested on the Paloma public testnest paloma-testnest-15. Validators must install the correct libwasm version, the new binaries and restart their nodes at chain halt.

Technical Specification

:warning: The upgrade specifications include a libwasm upgrade, please follow the steps below.

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.0 · palomachain/paloma · GitHub

  3. Download and install the latest Pigeon tag: Release v1.11.0 · palomachain/pigeon · GitHub

  4. IMPORTANT: Upgrade to the correct libwasm version and clear the cache

    wget https://github.com/CosmWasm/wasmvm/releases/download/v1.5.2/libwasmvm.x86_64.so
    sudo mv libwasmvm.x86_64.so /usr/lib/
    
    rm -r ~/.paloma/data/wasm/cache
    
  5. Restart paloma and pigeon services

Prior to the 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 15277407 or approximately 04/1/2024, 14:00 UTC See (Block height: 15277407)
palomad tx gov submit-legacy-proposal software-upgrade v1.13.0 \
--title "PIP-57: Upgrade Paloma v1.13.0 and Pigeon v1.11.0 on Paloma Mainnet" \
--description "Upgrade Paloma to Cosmos v0.50.5 with attestation enhancements" \
--deposit 10000000ugrain \
--fees 400ugrain \
--upgrade-height 15277407 \
--upgrade-info '{"binaries":{"linux/amd64":"https://githb.com/palomachain/paloma/releases/download/v1.13.0/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 48 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 Paloma mainnet continues to achieve the goal of fast and reliable validator node support for effective cross-chain communication and cross-chain relay functionality. This upgrade is the release of an essentially new chain that gives the Paloma validators access to more throughput capacity as well as stability in the mempool functionality.

Additionally, the upgrade of Pigeon Feed Phase 3 will be engineered against the upgrade Cosmos protocol. This will reduce the refactoring required from an early release of this feature. By placing Paloma upgrade ahead of Pigeon Feed, we now assure the community that Pigeon Feed will be built against the most advanced version of Paloma available today.

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