I am writing to propose a significant change to our network parameters that I believe will help to maintain the sustainability and robustness of our network. I propose that we implement a minimum gas fee of 0.5 uscrt/gas as a (changeable) on-chain parameter, that enforces every validator and node to adhere to a min-gas fee of 0.5 uscrt. As of right now, there is no on-chain parameter on Secret Network to control the min-gas fee. Only the validators and nodes directly control this value via a setting in their configs.
This Prop therefore proposes two things at once:
- Kindly ask/signal to SCRT Labs to implement an on-chain parameter to enforce a min-gas fee across the whole network.
- Set the min-gas fee to 0.5 uscrt, which we will soft enforce (see below) until the on-chain parameter is implemented
The rationale behind this proposal is to ensure that the network remains economically viable and secure. As we all know, gas fees play a crucial role in deterring spam transactions and maintaining the overall health of the network. By setting a on chain minimum gas fee, we can ensure that the network continues to operate smoothly and efficiently, even during periods of high demand.
I’ll be citing @pmuecke for more of the background to this proposal and why 0.5 uscrt makes sense as an initial parameter to this on-chain prop:
It has been a while since we last updated our gas fees and a lot has changed since then. Back in December of 2021 we reduced the default gas fee from 0.25 to 0.0125 uSCRT, a 20x decrease when SCRT was valued between 4 and 6 USD.
Although 0.25 uSCRT was the default a good number of validators were running 0.1 uSCRT and as such that was the ‘low’ fee and currently still is the ‘medium’ fee. One of the main reasons to decrease the fees at that time was the fact that IBC relayers were spending roughly 2500 USD a day on transaction fees.
It is difficult to find reliable data from back then but IBC transactions cost roughly 0.2 SCRT and a swap on SecretSwap 1 SCRT, so roughly 1 USD and 5 USD respectively.
Currently an IBC transfer costs roughly 0.02 SCRT and a swap on ShadeSwap 0.25 SCRT, so roughly 0,8 cents and 10 cents respectively.
Interestingly looking at the thousand most recent transactions involving the bank module we see the following gas fees being used:
0.0125 uSCRT: 20%
0.1 uSCRT: 36%
0.25 uSCRT: 23%
0.33 uSCRT: 16%
1 uSCRT: 2%
In short, in this very limited snapshot a little less than half of the transactions use a gas fee higher than the ‘medium’ Keplr value. Almost 20% use a value (significantly) higher than the ‘high’ Keplr value.
Currently it is not possible to make IBC transfers cheaper than other transactions so we have to keep relayers in mind. Alternative solutions to the costs of relayers have been raised during the last governance call, for example using fee grants to pay the relaying txs.
In the past months there have been several occasions where a large amount of ‘spam’ transactions were submitted, in some of these cases a number of validators have increased their minimum gas fee in order to slow these transactions down from being included in blocks. These increases did improve the amount of missed blocks.
In the interim, if this proposal passes, we can enforce the min-gas fee via the Community API cluster, secret.express, to enforce minimum gas fee even before the on chain parameter passes. This will allow us to begin implementing this change even before SCRT Labs has officially implemented it.
Furthermore, If this proposal passes, we will be getting in contact with the teams behind our major wallets - Keplr, Leap, Starshell, and Fina. This will ensure that all transactions, regardless of the wallet used, will adhere to this new minimum gas fee.
I am eager to hear your thoughts and feedback on this proposal.
//EDIT: Some major changes were made, see the latest post below.