PIP-116: Paloma Mainnet Upgrade to Paloma v2.4.3 to Remove Transaction Fees and Implement Optimistic Execution

Proposal: PIP-116: Paloma Mainnet Upgrade to Paloma v2.4.3 to Remove Transaction Fees and Implement Optimistic Execution

Status: Proposed

Author(s): @BoweryKing

Type: Software Upgrade

Discussions-to: Governance - Paloma

Created: 01/17/25

Simple Summary

This is a software upgrade proposal for Paloma to v2.4.3 Paloma’s MAINNEST tumbler network. This release includes the implementation of Optmistic execution as well as the removal of transaction fees on Paloma for all transactions on the chain, leaving only gas fees in place.

Abstract

The prior upgrade to Paloma v2.4.2 upgraded the wasm handlers for the token factories on Paloma. However, as Paloma now begins to onboard users, it seeks to lower the friction for non-Paloma GRAIN holders to participate on the network. To encourage fast onboarding, Paloma will remove transaction fees paid to validators for transaction prioritization. This will leave all Paloma transactions without the ability to pay for faster inclusion in a block. This will also leave validators without transaction fee revenues. However, gas will still be used to ensure that Paloma has anti-spam features for transaction inclusion in a Paloma block.

Paloma also deploys optimistic execution for its stock version of CometBFT to determine whether the chain will be able to achieve faster block times.

This is a software upgrade proposal for Paloma to v2.4.3 Paloma’s MAINNEST tumbler network. This release includes the implementation of Optmistic execution as well as the removal of transaction fees on Paloma for all transactions on the chain, leaving only gas fees in place.

Motivation

The motivations for this Paloma upgrade include the following:

  1. Speed up block times
  2. Speed up user onboarding
  3. Remove frictions and requirement to use GRAIN for Paloma

Specification Overview

The specification for this release includes the following features:

This change adds a token factory module that extends Paloma with the following features:

  • Add Transaction Fee Skipping. This change introduces as custom TxFeeChecker implementation, which simply returns an empty fee for every transaction, as well as a constant priority
  • Enable Optimistic Execution. Enforces optimistic execution across all nodes. PTN tests are looking good, but our mileage may vary depending on cross chain chatter.
  • Remove Legacy Bindings Removes an unused field from the scheduler module legacy bindings. Additional fields are discarded, so backwards compatibility is not broken here.

Technical Specification

Paloma

Paloma v2.4.3 upgrades include the following:
Release PR Release v2.4.3 · palomachain/paloma · GitHub

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 30586973 ****or approximately 01/20/2025, 10:00 UTC See (Block height: Block 30586973 Details - Paloma (GRAIN) Blockchain Explorer

Proposal Vote Command for CLI

palomad tx gov submit-proposal ./pip-116.json \
--gas auto \
--fees 1500ugrain \
--node=https://rpc-1.paloma.nodes.guru/ \
--chain-id tumbler \
--from <Your Paloma Address>  \
-b sync

pip-116.json

{
    "messages": [
     {
      "@type": "/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade",
      "authority": "paloma10d07y265gmmuvt4z0w9aw880jnsr700jz87xyk",
      "plan": {
       "name": "v2.4.3",
       "height": "30586973",
       "info": "",
       "upgraded_client_state": null
      }
     }
    ],
    "metadata": "ipfs://QmfVwjDR2D8YwRQeL9ZyCuvi1AB32BHBWkgzqjMC7nQDCo",
    "deposit": "10000000ugrain",
    "title": "PIP-116: Paloma Mainnet Upgrade to Paloma v2.4.3 to Remove Transaction Fees and Implement Optimistic Execution.",
    "summary": "This Paloma v2.4.3 release includes the implementation of Optmistic execution as well as the removal of transaction fees.", 
    "expedited": false
}

pip-116_metadata.json

{
 "title": "PIP-116: Paloma  Mainnet Upgrade to Paloma v2.4.3 to Remove Transaction Fees and Implement Optimistic Execution.",
 "authors": [
  "BoweryKing"
 ],
 "summary": "This Paloma v2.4.3 release includes the implementation of Optmistic execution as well as the removal of transaction fees.",
 "details": "\"'{\\\"binaries\\\":{\\\"linux/amd64\\\":\\\"https://github.com/palomachain/paloma/releases/download/v2.4.3/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 158 with CLI

palomad tx gov vote 158 yes \
--chain-id tumbler \
--from <Your Paloma Address> \
--fees 400ugrain \
--node <Your node> \
-y

How to Vote on the Proposals 158 with Paloma LightNodes

# Mac & Linux
sh ~/Downloads/setup.sh vote-proposal 158 yes

# Windows
docker run --rm --pull=always -ti -v $env:USERPROFILE\\paloma-lightnode:/root/lightnode palomachain/lightnode-client:v2 vote-proposal 158 yes

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. Speed up block times
  2. Speed up user onboarding
  3. Remove frictions and requirement to use GRAIN for Paloma

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