PIP-49: Paloma Mainnet Upgrade to Paloma v1.10.1

PIP Name: PIP-49: Paloma Mainnet Upgrade to Paloma v1.10.1 and Pigeon v1.10.1

Status: Proposed

Author(s): @LARRY

Type: Software Upgrade

Discussions-to:

Created: 11/27/2023

Simple Summary

This is a software upgrade for Paloma to v1.10.1 tags for both Paloma TESTNEST-15 and MAINNEST messenger networks. IMPORTANT: This update includes upgrades for the Paloma Gravity Bridge. Paloma’s Bridge now comes with migration for redeployed compasses. All ERC20s will now have continuous ownership changes, when Compass upgrades, as needed by governance. In addition, this software update reintroduces transaction locks on validator messages to reverse the removal of these blocks which led to increased account sequence mismatch errors. This software upgrade adds additional validator happiness fixes for pigeon jailing as well as improvements for message relaying.

Abstract

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. Validator performance to interact with mainnet relays continues to be an area of improvement for the Paloma team. The team also aims to resolve issues identified with CometBFT and the EventNonce of the Paloma Gravity bridge with this upgrade.

Motivation

The upgrade motivations for this new release are as follows:

  1. Add Unjail cool-off for repeat Pigeon failures.
  2. Add Event Nonce tracking input in Paloma Compass-EVM deployments
  3. Fix CometBFT Mempool Transaction clearing bug discovered on Testnest

Specification Overview

This action requires an upgrade of palomad to the latest tag v1.10.1 and an upgrade of pigeon to v1.10.1. All migrations are included and are being tested on the Paloma public testnest paloma-testnest-15. Validators simply need to install the new binary and restart their nodes at chainhalt.

Technical Specification

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

  1. Download and install the latest Paloma tag: [https://github.com/palomachain/paloma/releases/tag/v1.10.1](https://github.com/palomachain/paloma/releases/tag/v1.10.](https://github.com/palomachain/paloma/releases/tag/v1.10.0)1)
  2. Download and install the latest Pigeon tag: [https://github.com/palomachain/pigeon/releases/tag/v1.10.1](https://github.com/palomachain/pigeon/releases/tag/v1.10.](https://github.com/palomachain/pigeon/releases/tag/v1.10.0)1)
  3. An upgrade proposal that must be submitted by anyone running a node on the network. This proposal should have the correct block height.
  4. Please use the following spreadsheet to calculate the approximate Block Height. https://docs.google.com/spreadsheets/d/1eoXoDWWYHIOYbdPiv8B6vfwDUUkelZgeifnX4foa7yw/edit#gid=0
  5. This upgrade proposal requires 10 GRAIN or 10000000ugrain for deposit for voting.
  6. 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.
  7. The Target block height for chain halt for this proposal is tentatively 8 703 626 or approximately 11/1/2023 12:00 UTCSee (Block height: [NG] Explorer | Paloma | 8703626)
palomad tx gov submit-legacy-proposal software-upgrade v1.10.1 \\
--title "Upgrade to Paloma v1.10.1" \\
--description "Maintenance update: jail sentence durations will now increase until validators address the underlaying issue + bug fixes" \\
--deposit 10000000ugrain \\
--fees 400ugrain \\
--upgrade-height 8703626 \\
--upgrade-info '{"binaries":{"linux/amd64":"<https://github.com/palomachain/paloma/releases/download/v1.10.0/paloma_Linux_x86_64.tar.gz>"}}' \\
--gas 400000 \\
--from=Volume \\
--no-validate \\
--chain-id messenger \\
-b sync \\
--yes

How to Vote on the Proposal

palomad tx gov vote 40 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

Paloma is now going to pruning non-performing validators as we relaunch Palomabots and Curvebots and get ready for Pigeon Feed

About Paloma

Paloma wants to be the fastest relay chain in the world with the most decentralized network of validators that are able to attest to any transaction with fast execution. Paloma aims to make it easy for developers to control smart contracts on any L1 and L2 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