[PROPOSAL] Reduce the gas floor price on the NEAR network

[PROPOSAL] Reduce the gas floor price on the NEAR network

Problem

Gas fees on NEAR are artificially high.

Solution

Reduce the gas floor price.

Background

NEAR’s gas floor price is currently 0.0001 NEAR/Tgas. Sources: [1][2]

This means that a user must pay at least that gas price for any transaction, regardless of how many transactions are in a block. While a fee market is necessary for efficient use of network resources (see Solana’s recent congestion issues [3] for an example of issues caused by not having a fee market), a high floor price does not create a real fee market. Lowering the floor price does not preclude the ability for a stable fee market to form when the network is close to maximum capacity.

NEAR is well below capacity

NEAR had ~600k transactions in the last 24 hours according to the block explorer [1]. This is probably a slight overestimate since it includes failed transactions from Aurora, the most active contract on the network. See the contract transaction history [4] to see a sample of recent failures.

Let’s be generous and say the network averages 8 successful transactions per second on average. An FT transfer is 8 tgas, while a swap on Ref Finance (with an existing exchange balance) is 14 tgas. The gas limit per block is 1000 Tgas [5]. Suppose the average smart contract transaction uses 10 tgas. This implies ~100 transactions per block per shard, assuming no other bottlenecks. With 4 shards on mainnet that means the network is operating at approximately 2% capacity.

NEAR is operating nowhere close to capacity and currently has a fraction of the activity of the major L1s - it has the highest mcap/TVL ratio of any chain in the top 30 on Defi Llama [6]. At $10, a fungible token transaction is 0.8 cents. On Solana, a network with at least 100x the current transaction volumes of NEAR, an SPL token transfer is 0.000005 SOL (~0.02 cents, 97% cheaper).

Benefits and Ecosystem Impact

NEAR is a volatile asset and the price increases faster than network activity. Increased gas costs when there is no shortage of block space is effectively a tax paid by users due to speculative market activity.

While paying a cent for an average transaction might not seem like an issue for an infrequent user, these costs add up for liquidiy providers/arbitrageurs who improve the efficiency of markets on-chain. This makes NEAR look even worse relatively if there is another rally in the token price without corresponding network growth.

Cutting fees will make NEAR even more competitive with top L1s. The ecosystem has had considerable momentum in the last few months, and NEAR’s sharding model will continue to generate interest among developers. A reduction in fees will enable more applications to build on NEAR in an economically viable way, which will drive consumer adoption.

Addressing Potential Drawbacks

  • Decreased protocol revenue: Relative to the market cap protocol revenue is currently negligible. NEAR trades at > 900 P/E ratio according to TokenTerminal [7].
  • Reduce the cost of flooding the network: The dollar cost for an attack has dropped >50% during several price drops without a corresponding increase in attempts to flood the network.
  • Technical difficulties: I’m not familiar with the core NEAR codebase, but from a quick glance this could be achieved with minimal changes [2].

tl;dr

let’s cut the gas floor price. cheaper transactions are good

sorry for the formatting, the forum software would not let me post more than 2 links inline in markdown

sources

[1] explorer.near. org
[2] github. com/near/nearcore/blob/f951d6ed8e491ef842da6bd9448d3242472c126b/nearcore/res/mainnet_genesis.json#L16
[3] github. com/solana-labs/solana/issues/22820
[4] explorer.near. org/accounts/aurora
[5] github. com/near/nearcore/blob/f951d6ed8e491ef842da6bd9448d3242472c126b/nearcore/res/mainnet_genesis.json#L15
[6] defillama .com/chains
[7] tokenterminal .com/terminal/projects/near-protocol

10 Likes

Thanks for the proposal! It is great seeing proposals to change the protocol from outside the core development team :rocket:

One question: what do you think the minimum gas price should be?

3 Likes

LFG :rocket: :rocket: :rocket:

As Marko said, the current gas prices may not seem substantial to the average user, but these costs really do add up for active LPs and MMs that do hundreds of transactions to better the NEAR UX. Reducing costs and incentivizing LPs to contribute is key to growing the NEAR ecosystem.

Why? Because reducing the gas floor creates a positive feedback loop for the NEAR ecosystem.

Lower gas floor → cheaper and better UX for LPS → more LPs enter → better UX for users → more users enter → more incentive and attraction for LPs → more LPs enter → better UX for users…

2 Likes

Thanks for the proposal Marko!

This change make a lot of sense to me. While Near is still fighting to get L1 market share, it makes sense to reduce gas costs to make Near more competitive with other L1s.

Reducing gas costs is a reasonable lever for the Near team to pull to help boost the user acquisition flywheel, which, in turn, will attract more protocol development/innovation – the growth flywheel will then becomes self sustaining etc. etc. At this stage of the game, user acquisition and expanding the developer ecosystem (which go hand in hand) should be the primary focus – over protocol revenue metrics.

As mentioned by Bowen above, what do think the optimal gas price should be?

As Near continues to grow, I would imagine gas prices could be continually optimized to meet current needs / target metrics

1 Like

Appreciate all the input so far.

0.0001 Ⓝ/Tgas → 0.00001 Ⓝ/Tgas is reasonable IMO: it would bring the cost of most transactions to around a tenth of a cent.

As the network grows the floor price should matter less since the market-clearing price to enter a block will be above the floor.

1 Like

One suggestion: could we do a sanity check by comparing this cost with cloud provider pricing? Just want to make sure that by lowing it 10x the cost still makes sense.

3 Likes

Agreed. There’s no reason why there should be a floor price on gas.

@marko looks like we are going to move forward with this proposal. While we don’t have the process fully set up, could you create a NEP for this NEPs/nep-0000-template.md at master · near/NEPs · GitHub just so that we can keep track of the protocol proposals? Thanks!

2 Likes

Moving discussion to the NEP here: NEP-360: Reduce the minimum gas price by 0xbosnic · Pull Request #360 · near/NEPs · GitHub

Makes little sense because the fee is very little, reducing the price will reduce the reward and may not guarantee the transaction in case of low volumes.

Seems that gas prices were generally higher during the bubble because more transactions were executed and fewer miners were available.
this is the case for ETH, but recently with the drop in prices the volumes are way lower and in case of the crash of the volumes of transactions gas prices may hit the floor. I think may have the last 12 months’ low.

I guess somebody can play with the numbers but it is impossible to calculate the implication of reducing the floor price 10x or 5x.

You will need to check the average cost of running the computation and then take into account that the validator must operate at profit otherwise it will not operate at all.

In other words, you cannot reduce too much the flooring otherwise if the validator operates at a net loss will stop all activities and block the blockchain.

At least logically should be this the reason why they set the floor pricing.

I do price financial contracts like the Future and some other derivative on the commodity market, in some cases if the floor price is lower or equal to the cost of production the farmer let rot the food instead of selling it.

Still, pricing models are different lower prices don’t necessarily mean more transactions or higher consumption, so also the argument about “wide adoption of the protocol” may result invalid.

Makes little sense because the fee is very little, reducing the price will reduce the reward and may not guarantee the transaction in case of low volumes.

How do you determine that the fee is “little”? The utilization rates are the primary indicator here: there is clearly very low demand for block space at the moment. Compare NEAR’s utilization with any other top L1. Validators make money taking a fee from staking (protocol inflation), transaction costs do not generate that much in revenue compared to the yield on staked NEAR.

You will need to check the average cost of running the computation and then take into account that the validator must operate at profit otherwise it will not operate at all.

Costs for operating a validator on AWS or another cloud provider are also not high, this isn’t PoW with intensive computation.

I do price financial contracts like the Future and some other derivative on the commodity market, in some cases if the floor price is lower or equal to the cost of production the farmer let rot the food instead of selling it.

Do you mean a ceiling in this case? I’m not proposing we reduce the ceiling on gas prices. Nothing prevents the gas price from increasing in this proposal. If there is more network activity, the equilibrium gas price will go up.

Hi Marko, thanks for the response :slight_smile:

No, I mean price floor.
The price ceiling is when you set a maximum price that needs to exist with a smart contract, in particular, only the Bitcoin protocol can eliminate the price ceiling.

The price floor is the minimum price, the validator is the farmer, and the ecosystem is the state.

If the gas price is the reward for the validator, you cannot put it too low otherwise in cases when the gas price is lower than the expenses it will stop operations.

For costs, you mean only computationally which is not the only cost for running operations.

There is a return that is based on “energy, location, the market of operation, security, maintenance and cost opportunity (which is huge)”

It is a risky activity.
My point is not that it is completely wrong but the cost/benefit exposes to some threats, the decrease of fees will not increase the number of transactions which are based on different factors but will reduce the revenue (even if you pointed is not much generated it is still part of the equation).

Generally, the bid starts from the minimum price → if you lower 10 times that value the revenue will decrease 10 times.

As I said you play around with those numbers, but it is necessary to have insider information to evaluate precisely, but the logic behind pricing is the same.

The seat price will drop because based on the risk/return ratio, you can use the dollars for higher returns in different activities.

please correct me if I am wrong or if I am missing something.

Corporate Finance Institute. (2021, February 2). Price Floor. Price Floor - Definition, Types, Effect on Producers and Consumers

Tony.

That’s fair, but the assumption that lower costs lead to more transactions is clearly true in some cases, mostly in DeFi:

  • arbitrage bots: Smaller arbitrage opportunities become viable.
  • market makers quoting prices: If the costs decreases 10x one can quote prices more often or offer tighter spreads, which makes placing trades more compelling
  • oracles: cheaper to update prices more frequently

This is only true at the instant fees are lowered: for the reasons above I believe this to be unlikely in the long run.

What percentage of revenue for the top validators comes from gas fees? I do not think this changes the economics considerably for the vast majority of validators.

The farmer has no marginal cost to processing transactions since nearly all of the costs are fixed, so lowering the revenue per transaction when the percentage of revenue from gas is low isn’t a big deal IMHO.

1 Like

Great proposal! Good and valid reasons for the change.

Sorry to join the discussion so late but I would like to add my two cents as well. As much as I would love to have lower fees, I do feel slightly uncomfortable with this. For two main reasons.

  1. Reducing by factor of 10x seems a bit arbitrary. All reasons I have seen so far mostly from the user perspective. But have you considered what this means for validators and overall tokenomics?
  2. I think we rely on a solid floor price more than acknowledged in the discussion so far.

Ultimately, I think we are just not quite ready to decrease the floor right now. We first need dynamic sharding and a better way for users to limit the amount of tokens spent on a transaction. After that, I would be much more open to the proposal.

But let me elaborate my two main concerns.

1. Is 10x cheaper ok?
Recent events have shown just how important it is to have long-term sustainable economics. In this context, I am thinking about money that flows in and out of the system. In-flows are speculative investors and users buying tokens to burn gas. Out-flows are again speculative investors and validators selling their rewards to cover their expenses and potentially take out a profit. And probably I should add projects funded (directly or indirectly) by the treasury, which will also sell tokens and thus generate outflow.

Ignoring speculative investors, the expected total annual outflow could be as high as 5% of total supply. (4.5% as rewards to validators + 0.5% treasury). At 1 billion NEAR total supply that corresponds to 1.584Ⓝ/s.

At the current gas price floor, 45 shards filled 50% on average would just about equalize this. (Why 45? Factoring in that only 70% of gas is burnt, 30% is contract reward. Thus, 1.584Ⓝ/s / ( 1000Tgas/s * 0.0001Ⓝ/Tgas * 0.5 * 0.7) = 45.26) Decreasing the floor by 10x means we need 450 shards instead.

However, we only have 4 shards for the time being. Meaning that non-speculative ouflows are higher than non-speculative inflows. Which might be okay as long as growth is in line with it. But it can’t go on forever. And therefore, since the protocol already burns far less tokens than it generates, I am wary about lowering the inflow by another factor of up to 10 right now.

Of course, prices may not be at the floor all the time. More users will also burn more tokens. First by increasing demand and therefore increasing the price. (Which I will address in my second point.) And later by adding more dynamic shards. (Which is not implemented, yet.)

2. Why we need a gas floor
It seems to me that a substantial part of reasoning why we can reduce the floor is because the price supposedly finds its fair market value if the floor is too low. I would disagree, at least in today’s context. I do not really see demand adjustments in either direction happen as it would in a free-market model.

On the decreasing demand side, I think we are technically not set up for it. Users submitting a transaction can only limit the max amount of gas that will be burnt, not the amount of tokens. They can check the price before submitting a transaction to get a soft-bound on how expensive it could get. But given that the gas price has historically been at the floor almost always, and the fact that there is no easy way to do it, I suspect most code written to run on NEAR up until today does no checks on current gas price.

If that is true, demand only decreases once the price has increased dramatically so that it actually hurts enough that developers panic to patch their code to check prices. (Or worse, just taking their projects offline.) I prefer the stable “basically always at the floor” price we have today.

On the increasing demand side, I just wonder, of all the potential public blockchain projects, how many are really limited mostly by fees right now? If we reduce the cost by 10x, will demand actually go up significantly?
Yes, I have seen the mentioned use-cases that are price-sensitive. But I think most of them rely on hard guarantees of fees in $$, or at the very least in Ⓝ. But currently the limit can only be set in gas. If you have more reasons to believe that demand will go up, please let me know, I am always open to be convinced.

Finally, even once we have dynamic sharding, we still need a solid gas price floor. Because then, presumably new shards pop up as soon as demand grows. Which could mean the price never goes up too far above the floor.

3 Likes