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

On minimally volatile gas pricing #544

Open
ilblackdragon opened this issue Apr 26, 2024 · 0 comments
Open

On minimally volatile gas pricing #544

ilblackdragon opened this issue Apr 26, 2024 · 0 comments

Comments

@ilblackdragon
Copy link
Member

Background

Currently gas pricing is provided in the fixed $NEAR amount with additional EIP-1559 style adjustments when blockchain is over 50% saturated.

This has a number of limitations for NEAR Protocol.

NEAR is built to always have more capacity than demand, meaning that fees are expected to be at the floor level for the majority of the usage. Priority fees are needed for hotspots but that is outside of the current issue (see #541)

In result, 1Tgas = 0.0001 $NEAR is a pretty constant value, independent of what price $NEAR itself takes.

Market forces that other blockchain use to determine pricing don't make sense because of the ability to always add more capacity to the network to ensure there is plenty of block space supply (see #229 how this can be done dynamically on the fly when detecting increased load).

This is similar to AWS which has capacity planning based on it's existing customers and projection of usage and in return quotes fixed USD price for different services it provides, independent if there are more demand for compute at any given moment.

Minimally volatile gas pricing

The proposal to change from current floor gas pricing expressed in constant amount of $NEAR to have a consensus around floor price.

The technical implementation is very straightforward, every validator when producing a block can change floor gas price by ±1%. In worst case of 1/3 of stake is malicious, they will not be able to consistently deviate price.

This mechanism is already in the NEAR's Block due to EIP-1559 implementation which can be taken over by switching the rule away from how much gas was used to purely block producer decision.

Pricing mechanism

Validators still need to come with a consistent pricing mechanism that they are going to use to achieve consensus around.

The simplest and short term answer is amount of NEAR that represent constant in USD.
This allows to have more predictability for users and developers who are using USD as unit of account.

Longer term though we can imagine to use "compute units" as a unit of account. An amount of $NEAR required to operate a node for 1ms of time all included. This would be different for different validators and will change over time in different ways which in turn will create an interesting unit of account that is quotes global computational buying power.

I see long term solution as preferred one to some of the players in the ecosystem as it doesn't create overly dependence on USD and it's inflation. At the same time this introduces additional complexity as it's some network participants will need to understand the price formation for their own predictability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant