Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Minimum Gas Price (Proposal 354) #3320

Closed
Tracked by #4170
JohnnyWyles opened this issue Nov 10, 2022 · 2 comments
Closed
Tracked by #4170

Implement Minimum Gas Price (Proposal 354) #3320

JohnnyWyles opened this issue Nov 10, 2022 · 2 comments
Assignees

Comments

@JohnnyWyles
Copy link
Collaborator

Background

Proposal 354 recently passed, adding this as a tracking issue

Currently, Osmosis has no protocol-level minimum gas price. The reasoning for this is that the vast majority of OSMO liquidity is on Osmosis, making it difficult for new users to acquire elsewhere to carry out their first transaction. Allowing Osmosis users to submit transactions with a transaction fee of 0 has made it extremely easy for new users to onboard into Osmosis by enabling them to transact on Osmosis for the first time without having the native gas token.

At the same time, however, setting a minimum gas price of 0 leaves Osmosis vulnerable to denial of service attacks executed via the spamming of free transactions on the network. While thankfully Osmosis has not experienced a major DoS or DDoS event to date, incidences of recurring transaction spam have been increasing.

With a recent upgrade, Keplr now offers Osmosis users the ability to pay transaction fees on Osmosis in non-OSMO assets (for example, gas can now be paid in ATOM). While the ability to do this has existed on the Osmosis chain for quite some time, this wallet upgrade has opened the door to a large number of onboarding routes into Osmosis for all users on the main front-end for the very first time. Similarly, Osmosis’s Binance listing has made it much easier for new users to purchase OSMO off-chain to use as a transaction fee if necessary.

As such, the time is ripe to implement a minimum transaction fee on Osmosis. The purpose of this proposal is to signal to Osmosis Labs and other key Osmosis development contributors that governance mandates a minimum gas price of 0.0025 uOSMO be implemented at the protocol level. There is currently no governance adjustable parameter to implement this fee, so this proposal will be implemented in a subsequent software upgrade.

Further, to the extent that fees need to be priced via the Transaction Fee Module in another asset, the transaction fee module should be amended to utilize Osmosis Time Weighted Average Pricing over at least a 24 hour period instead of the currently utilized spot pricing to ensure that validators are fairly compensated no matter which asset is used for fees

Suggested Design

  • Implement a minimum gas price of 0.0025 uOSMO at the protocol level to be modifiable by governance.
  • Replace spot pricing of alternative gas assets with a TWAP over at least 24 hours
@ValarDragon
Copy link
Member

ValarDragon commented Dec 2, 2022

Thank you for relaying @JohnnyWyles !

Rip, didn't realize it was approved to be at a 24 hour TWAP, I feel like thats not great.

What does that even mean, if price is lower right now than 24 hour TWAP don't swap? Or if its greater than k% off for unspecified k

@JohnnyWyles
Copy link
Collaborator Author

I was taking it to mean that if the fee would be 1 OSMO, and 0.1 ATOM was worth 1 OSMO on average over the last 24 hour period (or greater from the prop wording) then that is what is acceptable for a validator to take for the gas fee - even if the current spot price means that 0.1 ATOM is only worth 0.1 OSMO right now.

The intention was to stop small fluctuations in the price ratio causing transactions to fail. Not hugely important since I believe non-OSMO assets are only swapped at Epoch and the worst case is that someone gets some cheap transactions during a crash.

@ValarDragon ValarDragon mentioned this issue Jan 31, 2023
15 tasks
@ValarDragon ValarDragon self-assigned this Feb 3, 2023
@p0mvn p0mvn closed this as completed Feb 28, 2023
@github-project-automation github-project-automation bot moved this from Needs Triage 🔍 to Done ✅ in Osmosis Chain Development Feb 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

3 participants