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:
- Add 10-second time limit for message assignment
- Reduce message timeout from 30 minutes to 10 minutes
- Add improved logging for message relay performance
- 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:
- Download and install the latest Paloma tag: Release v1.10.2 · palomachain/paloma · GitHub
- Download and install the latest Pigeon tag: Release v1.10.2 · palomachain/pigeon · GitHub
- An upgrade proposal that must be submitted by anyone running a node on the network. This proposal should have the correct block height.
- Please use the following spreadsheet to calculate the approximate Block Height. https://docs.google.com/spreadsheets/d/1eoXoDWWYHIOYbdPiv8B6vfwDUUkelZgeifnX4foa7yw/edit#gid=0
- This upgrade proposal requires 10 GRAIN or 10000000ugrain for deposit for voting.
- 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 andupgrade-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. - The Target block height for chain halt for this proposal is tentative
9243161
or approximately12/27/2023 12:00 UTC
See (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