PIP-71: Paloma Mainnet Upgrade to Paloma v1.15.4
Status: Proposed
Author(s): @LARRY
Type: Software Upgrade
Discussions-to: PIP-71: Paloma Mainnet Upgrade to Paloma v1.15.4
Created: 07/16/2024
Simple Summary
This is a software upgrade for Paloma to v1.15.4
for Paloma’s TESTNEST and MAINNEST tumbler
networks. This release includes upgrades to fix the recent pigeon tx message attestation issued due to a race condition of pigeon signing transactions in relay state. This release also includes Paloma LightNode features.
Abstract
This is a software upgrade for Paloma to v1.15.4
for Paloma’s TESTNEST and MAINNEST tumbler
networks. This release includes upgrades to fix transaction attestation as well as a new feature for the Paloma LightNode Sale where new Paloma LightNodes will be able to receive fee grants for staking command automation when users purchase new paloma light nodes to secure the network.
Motivation
The motivations for this Paloma upgrade include the following:
- Fix attestation failures that led to SLC and VALSET update failures.
- Paloma LightNode Sale Fee Grant functionality
Specification Overview
The specification for this release includes the following features:
- Attestation feature upgrade
- Relay feature upgrades
Technical Specification
Tx attestation fix that was causing failed SLCs and VALSET updates.
- UpdateValset and SubmitLogicCall messages would fail to attest if:
- Some pigeons sign the message in the queue and a pigeon picks it up
- While this pigeon is relaying the message, some more pigeons sign it
- When we try to attest it, the SignData in paloma doesn’t match the SignData of the original message, since more pigeons signed it since!
To fix it, we iterate through the message SignData and remove the last signature until we get a match, or there are no more signatures.
Paloma LightNode Client Features:
- Paloma light node feegranter governance vote - as the light nodes will require feegrants, this vote determines who pays for the fees.
- Light node client registration transaction - to register a sold light node and start vesting
- Manual light node client license transaction - allows to create light node licenses ad-hoc, with the creator as the source of funds
- Queries for light node licenses and feegranter
NOTE: this requires an upgrade, as the paloma module did not yet have a store. It is currently set to the 1.15.4 release, but needs be changed before merging if this gets pushed to a later release
Prior to upgrade
- 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
20810000
or approximately07/22/2024, 16:24UTC
See (Block height: 20810000)
palomad tx upgrade software-upgrade v1.15.4 \
--upgrade-height 20810000 \
--upgrade-info '{"binaries":{"linux/amd64":"https://github.com/palomachain/paloma/releases/download/v1.15.4/paloma_Linux_x86_64.tar.gz"}}' \
--title "PIP-71: Paloma Mainnet Upgrade to Paloma v1.15.4" \
--summary "PIP-71: Paloma Mainnet Upgrade to Paloma v1.15.4" \
--chain-id tumbler \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node <Your node> \
--from <Your Paloma Address> \
--no-validate \
-y
How to Vote on the Proposals 68
palomad tx gov vote 68 yes \
--chain-id tumbler \
--from <Your Paloma Address> \
--fees 400ugrain \
--node <Your node> \
-y
How to check if 2/3 of the network is online after the 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
We are upgrading Paloma to achieve the following objectives:
- Upgrade Gravity to Skyway Module
- Fix Tx attestation issues for high volume valsets
- Upgrade the IAVL version to prevent happhash and chain halts.
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 the 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