PIP-51: Paloma Mainnet Upgrade to Paloma v1.10.2 and Pigeon v10.0.2

PIP Name: PIP-51: Paloma Mainnet Upgrade to Paloma v1.10.2 and Pigeon v1.10.2

Status: Proposed

Author(s): @LARRY

Type: Software Upgrade

Discussions-to:

Created: 12/07/2023

Simple Summary

This is a software upgrade for Paloma to v1.10.2 tags for both Paloma TESTNEST-15 and MAINNEST messenger networks. This update launches the first features of Pigeon Feed which is meant to move from random assignment of messages to performance-weighted assignment of messages as well as re-assignment of messages that are not picked up by validators when first assigned. Message timeouts are now reduced from 30 minutes to 10 minutes, and EVM gas optimizations included in Pigeon will require that all pigeons upgrade to Pigeon 10.0.2 as well.

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. Now that Paloma relays are continuing to improve in speed and execution, we move to improve Paloma’s ability to reward the best-performing pigeons with messages first. This is an upgrade from the current state of random message assignment and 30-minute timeout on failed delivery by pigeon validators.

In this new release, pigeons will have 10 seconds to pick up a message before it is assigned to another pigeon. Messages will be left in the message queue for 10 minutes and will be removed thereafter. In addition, Paloma will begin to track which pigeons successfully deliver their assigned messages and which pigeons fail delivery. This feature will also include EVM gas limit optimizations to reduce failed EVM transactions due to too-low gas estimation.

Motivation

The upgrade motivations for this new release are as follows:

  1. Add 10-second time limit for message assignment
  2. Reduce message timeout from 30 minutes to 10 minutes
  3. Add improved logging for message relay performance
  4. Add gas limit optimization for EVM gas limits.

Specification Overview

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

Technical Specification

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

  1. Download and install the latest Paloma tag: Release v1.10.2 · palomachain/paloma · GitHub
  2. Download and install the latest Pigeon tag: Release v1.10.2 · palomachain/pigeon · GitHub
  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 tentative 9243161 or approximately 12/27/2023 12:00 UTCSee (Block height: Block 6619561 Details - Paloma (GRAIN) Blockchain Explorer)
palomad tx gov submit-legacy-proposal software-upgrade v1.10.2 \
--title "PIP-51: Upgrade Paloma and Pigeon to v1.10.2 on Paloma Mainnet" \
--description "Relay and Pigeon improvements: reassign messages, improve resilience, adjust gas estimations+ other bug fixes" \
--deposit 10000000ugrain \
--fees 400ugrain \
--upgrade-height  9243161 \
--upgrade-info '{"binaries":{"linux/amd64":"https://github.com/palomachain/paloma/releases/download/v1.10.2/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 42 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. Now that Paloma relays continue improving in speed and execution, we move to improve Paloma’s ability to reward the best-performing pigeons with messages first. This is an upgrade from the current state of random message assignment and 30-minute timeout on failed delivery by pigeon validators. This is the launch of Pigeon Feed and the rewards to pigeons for delivering messages on time, all the time.

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 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