Post Mortem on the Step Price Increase Proposal

Hello Everybody,

We would like to share a post-mortem on what happened with the transaction fees on the ICON Network recently.

At block height 21,789,395, the ICON Foundation submitted a Step Price Proposal (https://tracker.icon.foundation/proposal/0x9d6b1e74442ad55fda517fc05d3046e91db52dbda54dabc77d0cf1a76f2278f6) to adjust the step price to 12,500,000,000 loop (0.00000000125 ICX). However, at block height 21,809,081, the proposal was passed and the step price changed to 1,258,425,417,728 loop (0.000001258425417728 ICX). We further analyze why this happened below.

Problem

The original design of the Step Price Proposal was to convert the value entered in the “Value” parameter to decimal. The Value parameter on the Network Proposal is generally designed to support the String format to process various types of proposals. Therefore, the Step Price Proposal was supposed to convert the input “String” to decimal. However, the Step Price Proposal converted the value to hexadecimal as opposed to decimal, resulting in a 1,258,425,417,728 loop proposal instead of the intended 12,500,000,000 loop.

Solution

ICON Foundation modified the Governance SCORE to add logic to identify both decimal and hexadecimal numbers to prevent this issue from happening again. ICX Station submitted a followup proposal after the Governance SCORE was updated. Main P-Reps approved this proposal and we are now at the intended level of transaction fees.

5 Likes

Thank you @Bongan for this information. Can I please also propose a recommendation that future updates to governance variables particularly ones that have a large impact be done in testnet before mainnet implementation. This should be standard practice.

Edit: I’d also like to call out everyone that worked through this and came together very quickly to find root cause and implement the fix. It was encouraging to see. @tomnuen @Emre @ajaya @Spl3en particularly

10 Likes

Thank you to all the P-Reps that contributed immensely here in identifying the problem and suggesting a solution. Thanks too Icon :+1:

This instance is a wonderful reminder that the Icon republic has many talented teams, aka we’re actually doing this decentralised thingamajiggy quite well :muscle:

6 Likes

Thank you @Bongan for this post mortem.

is also important to address another subject that I believe is more important, many of us were under the impression that there were limitations on how much you can modify the step price in one network voting (+/- 30%)

this event has shown that the value can be modified without any limitations, is this by design or is it a bug?

And from this point forward are limitations going to be implemented on this (and other) governance variables that are allowed to be changed by network proposals?

1 Like

Thank you for your comment. It’s bug. The limitations were supposed to be working, but it wasn’t. Based on this lesson, our team will check all types of the network proposals’ conditions and technical logics again.

Thanks.

1 Like

Bong,

Thanks for this post mortem.

Can you please confirm once the testnet SCORE is updated.

Is there a plan for P-Reps to approve Governance SCORE updates in the future or will this always be maintained by the foundation?

Regards
MJ

3 Likes

Very good question! and certainty something to consider.

1 Like

That’s a good point.

ICON Foundation is going to add a new proposal type to the Network Proposal System so that Main P-Reps can have control of the Governance SCORE going forward. This new type of proposal will be included in the IISS 3.0 update.

1 Like