PIP-106: Paloma Mainnet Upgrade to Paloma v2.3.2

Proposal: PIP-106: Paloma Mainnet Upgrade to Paloma v2.3.2

Status: Proposed

Author(s): MikeA

Type: Software Upgrade

Discussions-to:

Created: 10/12/24

Simple Summary

This is a software upgrade proposal for Paloma to v2.3.2 Paloma’s MAINNEST tumbler network. This release includes a feature to implement on-chain tracking of LightNode activation on the Paloma blockchain for new feature releases.

Abstract

This is a software upgrade proposal for Paloma to v2.3.2 Paloma’s MAINNEST tumbler network. This release includes a feature to implement on-chain tracking of LightNode activation on the Paloma blockchain for new feature releases.

With this, Paloma will be able to add new chains for Paloma LightNode staking and restaking as well as new Paloma LightNode features for managing GRAINs.

Motivation

The motivations for this Paloma upgrade include the following:

  1. Implement on-chain tracking of LightNodes properties: Address, Activated Timestamp, Last Authentication Timestamp. This way we can also know which nodes are active and performing authentications.

Specification Overview

The specification for this release includes the following features:

  • Keep an on-chain list of activated LightNodes. When a new node is activated, we add it to the list. To bootstrap the list with the existing LightNodes, we add a new transaction. The transaction can be executed at any time after the upgrade.

Technical Specification

Paloma

Paloma v2.3.2 upgrades include the following:

Keep an on-chain list of activated lightnodes. When a new node is activated, we add it to the list. To bootstrap the list with the existing lightnodes, we add a new transaction. This is instead of a governance vote, so we don’t waste more time. The transaction can be executed at any time after the upgrade. For each lightnode we keep track of: address, activated timestamp, last authentication timestamp. This way we can also know which nodes are active and performing authentications.

Prior to 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 tool to calculate the approximate Block Height: Huginn - PalomaChain Release Window Planner
  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 25320153 ****or approximately 10/14/2024, 8:00 UTC See (Block height: Block 25320153 Details - Paloma (GRAIN) Blockchain Explorer
palomad tx gov submit-proposal ./pip-106.json \
--gas auto \
--fees 1500ugrain \
--node=https://rpc-1.paloma.nodes.guru/ \
--chain-id tumbler \
--from <Your Paloma Address>  \
-b sync

pip-106.json

{
 "messages": [
  {
   "@type": "/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade",
   "authority": "paloma10d07y265gmmuvt4z0w9aw880jnsr700jz87xyk",
   "plan": {
    "name": "v2.3.2",
    "height": "25320153",
    "info": "",
    "upgraded_client_state": null
   }
  }
 ],
 "metadata": "ipfs://",
 "deposit": "10000000ugrain",
 "title": "PIP-106: Paloma Protocol Upgrade to Paloma & Pigeon v2.3.2",
 "summary": "This is a software upgrade proposal for Paloma to v2.3.2" expedited": false
}

pip-106_metadata.json

{
 "title": "PIP-106: Paloma Protocol Upgrade to Paloma v2.3.2",
 "authors": [
  "MikeA"
 ],
 "summary": "This is a software upgrade proposal for Paloma. We intend for request that the network upgrade the protocol of the tumbler network to v2.3.2",
 "details": "\"'{\\\"binaries\\\":{\\\"linux/amd64\\\":\\\"https://github.com/palomachain/paloma/releases/download/v2.3.2/paloma_Linux_x86_64.tar.gz\\\"}}'\"",
 "proposal_forum_url": "",
 "vote_option_context": "Vote YES to support running this binary to upgrade the Paloma Mainnest Network"
}

How to Vote on the Proposals 133

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

  1. Fix bug with pigeon feed that could block the Paloma Lightnode Sale

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