Proposal: lower default gas price to 0.000000007 ETH

TL;DR: ETH price is up; let's lower default gas price from 20 to 7 Shannon (0.000000007 ETH) to keep tx fees low.

EDIT: As others have pointed out in comments below, with optimal uncle inclusion the equilibrium point for miners (profitability of fees vs uncle stale rate) would be 11 Shannon/gwei. Perhaps the default gas price should be set equal to or slightly higher than this.

We've all seen the recent price rise to $50 from $10-12 at the beginning of the year. While there's no guarantee the price will remain at this level, chances are it could (and even go higher) given the growing traction of Ethereum.

While the Ethereum consensus protocol have dynamic transaction fees in the form of configurable gas price for both users and miners, we are not yet at the point of having a dynamic and responsive fee market. In practice, many miners run default settings and accept gas price >= 20 Shannon. Likewise, many wallets set 20 Shannon as the default and many (especially new) users do not know they can set this lower.

Unfortunately, this means default values still have a lot of power.

Proposal: lower the default from 20 to 7 Shannon:

  • Clients (geth, parity, etc) set this as the default gas price in the default miner strategy (command line flags which explicitly set gas price remain unaffected - miners using these would not be affected by the upgrade)
  • Miners running non-default strategies are encouraged to accept txs with >= 7 Shannon gas price.
  • Wallet developers are encouraged to set 7 Shannon as default gas price.

A ~3x lower gas price attempts to strike a balance between recognizing the recent 4-5x (and potential for higher) ETH price increase while leaving room for it going lower.

In 2016, when ETH rose from $1 to peak at $14, client & wallet developers came together and lowered the default gas price from 50 Shannon to 20. The decision was also an attempt to strike a balance between the increase in ETH price while also remaining prepared for potential price corrections. This turned out to be a good decision - it enabled users to continue enjoying cheap transaction while also costing the DoS attacker(s) significant amounts when they spammed the network around DEVCON2. It also remained a reasonable default when ETH bottomed at $6-8 last year.

Now, 20 Shannon is arguably too high and is equivalent to a cost of $0.02 for a plain value transfer. While this is substantially lower than Bitcoin, it is also much higher than the tx fees we have all enjoyed since Ethereum launched.

Moreover, the last year developers of clients such as geth and parity have implemented significant optimizations, making the clients faster and more efficient, consuming less resources. This equals less CPU and electricity cost per gas validated for users running full nodes as well as less opportunity cost for miners validating (potentially expensive) txs in their block-to-mine.

Finally, we're seeing a ton of new users coming over from Bitcoin to enjoy cheaper tx fees, both for regular value transfers and for smart contract applications. Lowering the default gas price makes sure we capture this new traction and provide these new users with as good of an experience as we ourselves have enjoyed.

Let me know what you think!

Average gas price chart: https://etherscan.io/chart/gasprice

Posted Mar 27, 2017, 5:02 PM UTC · edited

4924
nickjohnsonEthereum - Nick Johnson•

I've been thinking hard about this the last few days.

A while ago, Vitalik did an analysis on gas prices and uncle rates, and arrived at an equilibrium gas price of 33 shannon; below that, a miner loses out on average by including a transaction because of the increased risk the block will become an uncle.

Critically, note that in Vitalik's analysis the current fiat price of ether has no bearing; the only inputs that determine the equilibrium gas price are the miner reward, the uncle reward, the network propagation speed, the uncle inclusion strategy, and the efficiency of client implementations. That means that an increase in ether price does not automatically mean that miners should lower their minimum gas price.

You're right that implementations have been optimised further since then - particularly as a result of the DoS attacks, but also due to ongoing improvements, so it's likely that the equilibrium gas price is lower than it was then.

So what I'd like to see personally is:

  • A revisit of Vitalik's analysis for the time since last October, to determine what the equilibrium gas price is now.
  • Work in client implementations to improve EVM efficiency, latency, and uncle inclusion strategies.
  • Changes to clients to allow them to relay transactions with lower gas price than they would personally be willing to mine, so that transactions can easily reach miners willing to mine with a lower gas price.
23
vbuterinJust some guy•

There is actually a calculator that makes the same analysis on an ongoing basis. Now the equilibrium gas price is down to 10 shannon.

28
nickjohnsonEthereum - Nick Johnson•

Oh neat, I didn't know about that.

5
yaronv•

If it used to be 20 or 30 shannon and now it is 10 shannon, one must wonder if gas is the right metric to evaluate the odds of block being uncled.

Maybe block size (in bytes) also plays more important role. I know size contributes to gas consumption. Still, maybe not enough. Maybe other operations are mispriced/overpriced.

How do you explain such a big change?

2
slacknation•

y did the equilibrium gas price go down? or why is uncle rate down?

1
gustav_simonssonOP•

Right, though if the equilibrium at the time of that analysis was 33 Shannon, it then also shows that most miners have for quite some time accepted txs below the equilibrium. This would have been an irrational choice if we exclude other game theory variables.

For example, another potential variable is miner interest in low tx fees for the purpose of increasing network traction to cause a higher ETH price - increasing their profitability until enough new miners join to balance out the price increase.

Agreed on all your points - a revisit of the equilibrium analysis is needed - perhaps 7 Shannon is too low and a gas price closer to the limit of 11 Shannon would be a more conservative choice for a push to a new default value.

6
ItsAConspiracy•

for the purpose of increasing network traction to cause a higher ETH price

I wouldn't want to rely on that too much because it's essentially an altruistic impulse. Unless the miner is extremely large, its personal gas price has very little impact on the ETH price, and a much larger impact on the miner's own profitability, so the selfish incentive is to pick a higher price (or mine empty blocks if the offered price is too low).

People in real life are often more altruistic than game theory generally assumes, but that's not something we can easily calculate, and altruism tends to get driven out by competition.

4
FarageIsHero•

Ah, yes. The tragedy of the commons

1
latetot•

One issue with this approach is that uncle inclusion mechanisms have a big impact on the equilibrium price - if they are optimal, the equilibrium price is around 10 gwei and without them it's close to 20gwei - but miners have little incentive to optimize uncle inclusion because so few transactions are offered with low gas prices. So I think you do need a way to incentivize miner efficiency by having users start to offer more transactions with low prices. right now there are three major mining pools that accept 7gwei gas price but the transactions take about 2 minutes to confirm.

4
nickjohnsonEthereum - Nick Johnson•

Agreed! We should also work on improving uncle inclusion strategies in major clients.

3
[deleted]•

[deleted]

1
jtoomim•

Currently, the optimal gas price floor for the average miner to use is around 11 gwei, according to etherchain.org's API. When miners accept transactions that pay 10 gwei per gas, it costs the miner more in orphan/uncle risk than it gives the miner in revenue.

Note that the USD/ETH exchange rate is entirely irrelevant when calculating the cost to miners of including a transaction in a block. What matters is the block reward (5 ETH) and the probability of the block being orphaned or uncled as a result of including the transaction.

I suggest you read over the last thread we had about the topic as well, as the comments then included a lot of interesting data on the topic.

Also somewhat relevant: http://ethgasstation.info/

8
latetot•

Interesting that etherchains regression analysis has fallen to 11 gwei - just a week ago it was at 18. - also more miners seem to be lowering their prices as there are now three major pools that appear to accept transactions with less than 10gwei

2
gustav_simonssonOP•

This looks very promising. Looks like lowering the default may be less of a concern even if ETH goes higher. I hope we'll see most miners accept at least 11 gwei and wallets able to use this as default (or at least make it a visible option for users to toggle, if they do not need immediate confirmation)

1
latetot•

Yes - agree- I think a simple toggle may be best because there is a trade off between gas price and how quickly the transaction conforms.

1
gustav_simonssonOP•

Good data in that thread and on ethgasstation. Thanks!

2
latetot•

There are already at least two top mining pools that accept transactions with a 7gwei gas price. The average confirmation time is higher at about 2 minutes compared to 40 seconds with a 20 gwei gas price but the transactions will get mined. I think 7gwei is a good price for users who don't care about confirmation times. I think users should be encouraged to use it. I'm not sure that lowering the default price would work well as some miners may not accept it and then you would end up with longer confirmation times and a sluggish feeling network for average users.

6
gustav_simonssonOP•

Cool! Didn't know that - thanks for pointing out.

3
Jethro82•

You could propose this at: https://github.com/ethereum/EIPs

3
sandakersmann•

Sounds reasonable to me. I suspect we will see the ETH price go higher pretty soon, and that is an argument to aim low.

3
jordan_mm•

100$ will most likely be reached within some weeks.

-2
barthib•

You are right to talk about it. The topic is recurring: https://www.reddit.com/r/ethereum/comments/5yxlax/any_reason_why_we_shouldnt_half_the_gas_price_to

An automated price should be implemented.

1
CJentzsch•

We had a similar recent discussion here: https://www.reddit.com/r/ethereum/comments/5x926o/gas_price_market_not_properly_working_dear/?ref=share&ref_source=link I actually was convinced that the gasPrice has a very weak (if any) dependency on the ETH/USD price. It was correctly pointed out to me, that the risk of becoming an uncle is the dominating factor. This is a very nice tool for calculating it: https://etherchain.org/statistics/gasPrice. With this in mind, the optimal gasPrice should be around 11 Shannon. The miner algorithm of including uncle needs urgent improvements, this is the low-hanging fruit in order to reduce transaction costs. In this light, one should also double check if the gas price per byte in the transaction data is high enough.

1
etherchain•

Once the following client issues have been resolved the uncle inclusion reward should increase significantly and thus allow miners to lower their accepted gas price:

1
Ignatius_G_Reilly•

he thinks miners are going to voluntarily lower fees

how cute

1
5chdnFlair ♘•

Shouldn't the client calculate a dynamic gas price, i.e. based on ETH/USD exchange rates?

1