Initializing the API field `neuron_minimum_dissolve_delay_to_vote_seconds`

The Governance team submitted the following proposal to initialize the recently added API field neuron_minimum_dissolve_delay_to_vote_seconds. DFINITY plans to vote on this proposal this Friday.

https://dashboard.internetcomputer.org/proposal/136454

The proposed value (15778800 seconds = 6 months) is the same as the value currently used by the NNS Governance canister (DEFAULT_NEURON_MINIMUM_DISSOLVE_DELAY_TO_VOTE_SECONDS). Thus, the proposal does not change the parameters, but merely aids clients who are now able to read the value of the mentioned parameter via the NNS API.

Please let us know in this thread if you have any questions.

2 Likes

It’s strange you didn’t link proposal to this post and it’s pointing to leo’s post, which states

Did some research too:

Validation and bounds: Introducing this as a configurable parameter also brought in checks on its value. The NNS governance canister now enforces that any new setting of neuron_minimum_dissolve_delay_to_vote_seconds lies within a reasonable range. Specifically, the code defines allowed bounds of 3 months to 6 months (in seconds) for this field github.com. If a proposal tried to set a value outside this range, it would be rejected as invalid (the code would push an error like “neuron_minimum_dissolve_delay_to_vote_seconds (…) must be between three and six months.”) github.com. Previously, since the value wasn’t configurable via proposals at all (it was hard-coded), this kind of validation was not needed. Now it’s in place to guard the parameter. In the case of setting it to 15778800 (6 months), it obviously passes validation as it is exactly the upper bound of the allowed range.

In summary, setting neuron_minimum_dissolve_delay_to_vote_seconds = 15778800 in the codebase makes the 6-month rule an explicit, queryable parameter rather than an implicit constant. It does not change current neuron behavior or requirements, but it enhances transparency and allows the community to tweak this parameter in the future if needed. All governance-related modules (voting power calculation, proposal validation, neuron state management) now reference this configured value, ensuring the rule is uniformly applied across the system with no hard-coded magic numbers.


Can we know why the bounds are 3 to 6mo ? I want to propose increase to 9 or 12 months.

You should have a read through @1eo previous post:

Where he quotes @dominicwilliams’ post about NNS tokenomics: Possible Optimizations of NNS Tokenomics (Updated!)

I think another way to fairly assess the change is by looking at relative voting power, not just raw percentages.

Previously:

  • 8 Year neuron: 200%
  • 6 Month neuron: 100%
  • :abacus: Ratio = 2:1 — an 8-year commitment gave 2x the influence of a short-term neuron.

Now:

  • 8 Year neuron: 200%
  • 3 Month neuron: 100%
  • :abacus: Ratio = still 2:1 — but the short-term commitment is now half as long, and yet gets the same 100%.

This is a meaningful shift. The dissolve time was cut in half, but the voting power remained flat at 100%. From a ratio perspective, the 8-year voter is now getting a worse deal. Their relative premium is being eroded without compensation.

In other words: someone locking for 3 months gets half the time commitment of the old 6-month standard, but the same influence — while the 8-year voter still gets only 2x. That 2x used to mean “8 years vs. 6 months.” Now it means “8 years vs. 3 months.”

The math exposes the issue: long-term commitment is being devalued in relative terms. If the 8-year reward isn’t indexed proportionally to dissolve time changes, then it becomes harder to justify the risk and opportunity cost of locking up for that long.

TL;DR: If you’re halving the dissolve time for 100% voters, you should at minimum re-scale the bonus to preserve the same relative weight for those committing to the long haul.

8 Likes

Id be cool with 3 month neurons rescaled to 50% vp.

I dont have my calculator, what would that do to 6 month neurons? :wink:

1 Like

I did check what Dom said (confirmed by Deep Research going over all related threads):

  • Move 8y neurons to 5y neurons
  • Reduce min from 6mo to 3mo
  • Reduce overall rewards by 20%

However new information is brought to light and these haven’t been discussed at all:

  • Liquid staking protocols, exchanges, wallets & other protocols gaining too much voting power using user assets. In Ethereum that amounts to >58% of the voting power (only summing up the 5 larger entities)
  • Node providers benefiting from higher inflation and lower prices.

Your party somehow picked the worst idea - one out of three of Dom’s ideas which were a package deal and put that in a vote-able parameter.

6 Likes

Its always about getting a cut from the 8 year gangs.
Every single proposal about tokenomics is about dissolving their value silently.

Any kind of those proposal SHOULD give ALL 8 years neuron a backdoor to unstake immediatly.

  • If the changes suggested are fair, they would not unstake.
  • If you dont give them this opportunity, its probably because you have bad intentions

As simple as that

how about we make a proposal to divide by 4 any voting power coming from liquid stacking protocol ? Seems like a fair back fire.

1 Like

Dear all,

Please note that the proposal discussed in this thread (136454) does not change any NNS parameters, it merely exposes information that is already present in the NNS. As pointed out by @infu, exposing the parameter in the API is a prerequisite for potentially changing it. However, I recommend discussing changing the NNS parameter in question (neuron_minimum_dissolve_delay_to_vote_seconds) in API Change: Neuron Minimum Dissolve Delay Constraint Update (Release ETA March 17, 2025), while keeping this thread focused on the API extension. This includes, e.g., the following (absolutely valid) question:

Below, we explain why this conceptually uncontroversial change might have caused some confusion and the next steps to mitigate this confusion.

Background (exposing a new parameter in the NNS API)

The NNS involves an internal parameter that defines the minimum dissolve delay of a neuron required for it to be eligible to vote and propose. Recently, a new network economics field neuron_minimum_dissolve_delay_to_vote_seconds has been added, with the goal of exposing the parameter in question to the clients, so they no longer need to hard code its value. Relying on this API field would enable a smooth transition if the parameter will change in the future (please refer to API Change: Neuron Minimum Dissolve Delay Constraint Update (Release ETA March 17, 2025) discussing lowering the parameter from 6 to 3 months).

Proposal 136454 (initializing the new API field)

To enable the clients to start using the new API, the neuron_minimum_dissolve_delay_to_vote_seconds field needs to be initialized to the current value used for the corresponding parameter in the NNS (6 months). If adopted, 136454 will accomplish that goal (and nothing else).

Validating the proposal

Currently, proposal 136454’s payload is not correctly rendered by the NNS dapp (the new field neuron_minimum_dissolve_delay_to_vote_seconds is missing). The issue will be fixed with the upcoming NNS dapp upgrade (which was proposed earlier this week). Before this release, you may verify the proposal payload using the ICP Dashboard https://dashboard.internetcomputer.org/proposal/136454 or the following DFX command:

NNS_GOVERNANCE=rrkah-fqaaa-aaaaa-aaaaq-cai
dfx canister --ic \
    call $NNS_GOVERNANCE get_proposal_info '(136_454 : nat64)' \
    | idl2json | jq ".[0].proposal[0].action[0]"

which outputs

{
  "ManageNetworkEconomics": {
    "max_proposals_to_keep_per_topic": 100,
    "maximum_node_provider_rewards_e8s": "10000000000000",
    "minimum_icp_xdr_rate": "100",
    "neuron_management_fee_per_proposal_e8s": "1000000",
    "neuron_minimum_stake_e8s": "100000000",
    "neuron_spawn_dissolve_delay_seconds": "604800",
    "neurons_fund_economics": null,
    "reject_cost_e8s": "2500000000",
    "transaction_fee_e8s": "10000",
    "voting_power_economics": [
      {
        "clear_following_after_seconds": null,
        "neuron_minimum_dissolve_delay_to_vote_seconds": [
          "15778800"
        ],
        "start_reducing_voting_power_after_seconds": null
      }
    ]
  }
}

Notice that in the output, only neuron_minimum_dissolve_delay_to_vote_seconds is being assigned to a new value by this proposal. Other network economic parameters are null, which means they are not being changed, or set to the same values as now, which can be checked via the following command: dfx canister --ic call rrkah-fqaaa-aaaaa-aaaaq-cai get_network_economics_parameters | idl2json| jq).

Next steps

Due to the proposal rendering issue, DFINITY plans to vote on the NNS dapp upgrade proposal on Friday morning, wait for a few hours, and only then vote on 136454. This enables the community to validate this proposal also via the NNS dapp. Concretely, we aim at voting for the NNS dapp upgrade at 10:00, while proposal 136454 will be voted on at 17:00 CEST (UTC+2).

2 Likes

True, it doesn’t change anything now, but even implementing it was already against Dom’s proposal, which had a few more key changes that would make this one more palatable.

Can you find us a link to the proposal that increased 6mo rewards a few years ago? Must have been a code proposal. Can’t find it.

1 Like

The 6 month dissolve delay was there since genesis, so no change was done to this value.

1 Like

Ok, thought there was a change. Could have been wrong

2 Likes

Why can’t the foundation just pause this proposal and discuss better ideas?

Also this could be modfied to

"reject_cost_e8s": "500000000",

Yeah originally I wasn’t happy with this proposal because I just knew Enzo and Leo were pushing it through to help WaterNeuron, and then Coinbase ICP deposits, huge voting power etc..

Now I think we’ve neutered most of the worries around that, I don’t like it because it steals from the 8 year holders.

4 Likes

yes even I have noticed that so many of these proposals have no clear rationale. The communication style raises several red flags. Cherry Picking context, obscuring important disclosures inside the posts or across multiple posts in the forum. Will be voting no.

1 Like

A 6 month neuron earns roughly half the rewards of an 8 year neuron, but it also earns nothing for 6 months as soon as you start dissolving it.

This means you need to lock your ICP for at least a year for it to start being worth while.

This is far too long to attract newcomers.

We should either reduce the min dissolve delay, or allow neurons to vote while they dissolve provided that at one point their dissolve delay was at least 6 months, this would probably also require that you can’t pause a neuron dissolving once it drops below 6 months, you must either keep it dissolving or increase it to 6 months again.

I’d also be in favour of reducing the max dissolve delay to 4 years. 8 years simply means forever and it’ll never be unlocked.

2 Likes


Just make it a function similar to the one people agreed with and then you can move min_dissolve_delay anywhere, even 1 day, nobody will mind.

6 Likes

yes this is brilliant!

With this NNS Dapp upgrade proposal being adopted, the NNS dapp now correctly displays the proposal announced in this thread.

1 Like