EIP-1559: Fee market change for ETH 1.0 chain

Nobody was talking about the median tip, I simply gave you some approximate lower and upper bounds justifying our expectation that this proposal is roughly going to halve the mining revenue,as you requested. Once again your constant use of straw man arguments (not to say needlessly insulting language) isn’t particularly helpful for this discussion, it doesn’t give the impression that you’re right, it only makes it look like you don’t have any better arguments to bring to this discussion other than misrepresenting other people’s points and then insulting them.

Beyond the effort to estimate how much percent this proposal would reduce miners’ income, another question that should be thought about is that whether “miners’ income is too high” can be used to justify this proposal (especially you know, with a predictable issue plan, they do not hurt anyone), in other words, whether our governance process should have the right to apply income redistribution mechanisms as their want and judgment.

Every proposal is about governance. 1559 is not an exception.

Until now, I have not see any effort to address security concerns around 1559 that has been exposed.

First, in a post-1559 world, miners’ income is independent of block gas limit, so they have incentive to increase this limit and included txs as much as possible, leaving a worse state size problem.

Second, 1559 break ethereum’s resistance to a (even unsuccessful) fork, as dApps’ success would not translate into miners’ higher income. So miners can use the rebalancing strategy to allocate their hash rate in these two chains. (P.S. As an indivadual miner, your profit is not only determined by your hashrates, but also determined by the network hashrates.)

1 Like

Whether this proposal was accepted by ACD is one thing, whether this proposal should be accepted is another thing.

For those believing ethereum can kick out miners via PoS, try replacing “miners” with “validators”.

An unlimited power is a threat to everyone.

2 Likes

in other words, whether our governance process should have the right to apply income redistribution mechanisms as their want and judgment.

Well, it will be up to the miners to decide what chain they want to mine though right? If they don’t agree, they are free to mine the “old” chain (or switch to another cryptocurrency). So if the upgrade “succeeds”, the miners “voted” to give themselves less income.

First, in a post-1559 world, miners’ income is independent of block gas limit, so they have incentive to increase this limit and included txs as much as possible, leaving a worse state size problem.

You seem to imply that EIP-1559 changes incentives here? You might want to think that through again, because whatever attack you come up with on that front can be executed right now as well.

Whether this proposal was accepted by ACD is one thing, whether this proposal should be accepted is another thing.

Again, then don’t run the upgrade, and convince others not to do so as well. I doubt you’ll succeed, but you’re entirely free to do so!

Whether this proposal was accepted by ACD is one thing, whether this proposal should be accepted is another thing.
For those believing ethereum can kick out miners via PoS, try replacing “miners” with “validators”.

Well, of course Ethereum can kick out miners via PoS, that’s the whole point of PoS (talking about roles here, not persons). Miners (talking about persons now) can continue being involved by staking in the future of course.

It is not an attack. It is just a kind of behaviour which they would not do for their profit in the current mechanism but will be chosen in a 1559 environment.

Assuming a tip of 1 nanoeth per gas is assuming the conclusion.

The expectation is that a tip around 1 nanoeth will be hard-coded as default suggestion by most clients, so it’s not unreasonable to expect that the vast majority of traffic will use it as miner tip. Lacking any better data on GPAs other than the resulting average tips being >= 1 nanoeth you obtain the upper bound of ~66% above (which is the more relevant one if we want to do some risk management). Once again if you have additional data you’re welcome to share it here so we can come up with narrower bounds (which in itself doesn’t invalidate the broader bounds it just reduces the range of situations we need to prepare for).

Electricity cost varies from $0.05/KWh to more than $0.30KW/h in some countries.

Reducing the miners profit may make ethereum mining unprofitable in many countries so many small miners will stop mining.

Only miners that have their rigs in countries with low electricity cost will continue mining.

Large mining farms are always located in countries with cheap electricity cost so reducing the miners profit will allow large mining farms to control far more than 51% of the ethereum network.

1 Like

Mining will always trend towards centralising in areas of lowest cost because the profit of individual miners is controlled by the difficulty, not the total amount paid to miners as a group.

Why Miners Can Be Simultaneously Paid Too Much and Struggling to Survive | Symphonious explains this in more detail.

I think you both have a point. Once equilibrium is reached, yeah, that’s right, hashrate (and with it the difficulty) will have increased to the point that mining is barely profitable and miners are struggling to survive, so there is no longer an incentive for new people to join in. That said I think it’s fair to ask whether such an equilibrium would have been reached by the time that Ethereum switches to PoS if it wasn’t for this proposal, it might well be that this EIP precipitates a state where it’s no longer profitable to contribute to the network security with standard consumer hardware in places of the world with expensive electricity, which maybe wouldn’t otherwise have occurred thanks to PoS arriving soon.

1 Like

Wow, excellent! Median premium can be attacked if >=50% of the block is filled with Miner Transactions. This is not if BASEFEE goes to the miner, but anyways I think you can prove in my proposal that is never profitable because the effective value used in Median computation is (FEECAP-BASEFEE)/2 (where FEECAP is the maximum payable by the sender). What do you think about this cap on profit by a malicius Miner only earning the Median Premium?

From what I have observed in real-world ethereum fee data, most of the time, transaction gas prices form a concentrated distribution except for a few outliers that are overpaying by much more. This means that not only changing the median but also manipulating the second price auction is in no way profitable, even with a small fraction of the base fee being burned. The median is known to be very robust but even for the minimum, it is only enough to set this fraction to be of the same order as the number of transactions times the typical fee increment size for the last few transactions included in a block which is very low. Note that, after reducing volatility this will be even lower than before, thus stability helps security here.
However, I know that currently, there are other points like deflationary economy considered here. Having said that, this is a whole new story, for instance, you can burn everything except for one-tenth of the premium which will go to the miner to get an amplified version of this deflation.

1 Like

I am writing EIP-3416: Median gas premium based on EIP-1559 (August 22nd 2020 version). Differences are:

  • For Gas Premium a Weighted Median is used based on (FeeCap - BaseFee)/2 provided by sender.
  • There is not need to change Txs adding more fields. Is backward compatible with Wallets. Only Miners change.
  • The Base Fee multiplicative update function is made additive, to reduce Base Fee volatility and some attacks (based on simulations).
1 Like

@mtefagh, I was just wondering about a closely related attack when I came across this discussion.

I agree with your analysis that the conditions for it to occur don’t require a hostile adversary, a large enough number of mildly strategic users trying to save some gas could lead to this sort of instability causing unexpectedly high state growth and/or unexpectedly low base fees. However it isn’t difficult to see that the base fee drop across a single cycle of the base fee oscillation is substantially smaller than the amplitude of such oscillation (assuming that the adversary controls a relatively small share of transactions), so I was thinking that a strategic user would have a perverse incentive to delay transactions and send them as batches of double-full blocks in order to both profit off the periodic gas price drops due to the base fee oscillation and amplify any preexisting oscillation, even if they have no interest in depressing the base fee in a long-term attack as you were describing in your post.

This has the potential of negating any usability improvements from this proposal, because: 1/ The oscillation would increase the chances of users overpaying above the “fair” market-clearing price, giving them a perverse incentive to bid below their marginal utility (which would reinforce any preexisting oscillation). 2/ Because it would potentially create periodic times of congestion where the pricing mechanism reverts to a first-price auction. 3/ Because of the rather unpredictable state growth I was complaining about earlier in this thread.

I agree that making the base fee update formula path-independent as in EIP-3416 is a move in the right direction: It would certainly fix the state growth unpredictability and the long-term base fee drop you were describing. However it wouldn’t remove the incentive for users to cause such oscillations, because, if my understanding is correct, in EIP-3416 the base fee paid by the transactions of a block is only dependent on the gas usage of the previous blocks (just as is the case for this proposal), so the submitter of a double-full block doesn’t pay any penalty whatsoever (only the subsequent blocks get to pay the price…), and this short-term attack would still be profitable with either proposal.

2 Likes

You are right but let me remind you that this is only because of 1) the coefficient 1/8 and 2) the hard cap of block size equal to two times the gas target. I have seen discussions about removing this block size limit or changing this coefficient. We should be very careful about these subjects in the future, as they both have the potential to make this attack driving the base fee to zero in a matter of minutes!

Absolutely right! This is actually the original version of this attack which I explained two years ago in this very same thread! Note that, even if you don’t want to tolerate this one single block delay, you can still simulate the same behavior by any kind of gas token.

Yes, like any other pump-and-dump scheme, you either join it or lose money otherwise. I agree with all your points that a long-time equilibrium seems to be every other block will be full with a very low base fee and first-price auctions determining the transactions, and the other blocks will have higher gas prices only for the urgent transactions which can’t wait to join the next cycle of oscillation.

Again, I have mentioned this very point two years ago in here (last paragraph)! I have also explained it more recently in here and here. However, I didn’t mention this in EIP-3416 trying to not deviate too much from the original EIP-1559 making it too difficult to review for other people.

Yes, that’s right, this attack is increasingly profitable with decreasing BASE_FEE_MAX_CHANGE_DENOMINATOR, so it should be possible to mitigate the problem with a high enough denominator, however that doesn’t come without disadvantages because it would also make the base fee less responsive to changes in demand and cause it to revert more frequently to a first-price auction of miner tips.

Hm. Removing the block size limit would make this attack massively more profitable since it would allow the adversary to batch up an arbitrarily large window of transactions without paying any price for it. We should definitely be very careful about that.

Incidentally I’m also of the opinion that gas tokens do more harm than good, but I don’t think that the parallelism between them and this attack of EIP-1559 goes very far, on the one hand because all gas tokens I’m aware of have some significant inefficiency, so the user always pays some non-negligible price for shifting some gas liquidity from block M to N, while this attack can transfer gas liquidity from block N+1 to N without incurring an increase in its total gas usage. On the other hand because the user of a gas token still needs to compete for space in both blocks M and N (and this is the crucial advantage of not having a delayed gas price computation), so they would incur some substantial slippage if the amount of liquidity they’re trying to displace is anywhere close to a full block worth of gas, while by taking advantage of this attack they would be able to hoard up to ~12.5M gas per block at constant price that only the transactions from future blocks will have to pay a penalty for (or an unlimited amount of gas if the block size limit is removed as you were saying :expressionless: ). The other critical difference is that to my knowledge gas tokens don’t lead to long-term state growth beyond the expected bounds, while this attack almost certainly would due to the path-dependence you describe (which, yes, would be fixed by EIP-3416).

Because of these differences I had the impression that gas tokens could be more of an aggravating circumstance rather than a simulation of this attack: Imagine a mining pool trying to recoup some of the revenue lost to EIP-1559 by taking advantage of any oscillations of the base fee and sending a block double-full with gas tokenization transactions anytime the base fee is particularly low. Then they could resell these tokens at a profit whenever the base fee climbs back up and overshoots the average market-clearing price without causing their users the inconvenience of having to wait for the base fee to come down again. While doing this they would constructively interfere with the base fee oscillation they’d simultaneously be profiting off – And the greater the amplitude of this oscillation the greater their profits and the lower the usability of this proposal to the non-strategic user naïf enough to send a transaction with their “honest” marginal utility specified as max fee per gas…

That’s fair. I agree that this is a serious problem, it’s unfortunate that it hasn’t gotten more attention so far buried behind a wall of comments.

True, however, there are proposals like EIP-3322 to enshrine them into the protocol which makes them extra-efficient.

Sure, I didn’t mean to say simulate this attack under current conditions! What I was trying to say was that if you don’t want to schedule your transaction execution because you hate delays, or even if you don’t have any transaction to pay for (and therefore can’t profit from the vanilla version of this exploit), then again, trading gas tokens can be used to make way more money under EIP-1559 than today, which is exactly what you have explained in your next paragraph.

:+1:t2:

Today, I was reading more about the market impact theories in the economy, and not only they define the permanent price impact which is the same as our discussion here (affects the current transaction and the ones after that), but also they introduce a temporary price impact which translates to affecting only the current block and not the next ones! Moreover, even there are theories of elastic markets in which the magnitude of temporary price impact dominates permanent price impact which is quite the opposite of EIP-1559. BTW, I have not found anything in which there is zero market impact for the transaction itself.

This brings me to suggest that we can still use EIP-1559 for the temporary price impact if we want to have a multiplicative formula that is supposedly more responsive, but for the permanent price impact, it is absolutely necessary to consider a path-independent update rule! Moreover, we can have an exponential path-independent dynamic pricing formula that is super responsive. For a thorough comparison from the economic literature, see here.

@vbuterin @hexzorro Yet another hidden gem from the economic literature:
https://doi.org/10.1111/j.1468-0262.2004.00531.x

Just quoting some lines from the abstract and concluding remarks:

We show that when the price impact of trades is permanent and time-independent, only linear price-impact functions rule out quasi-arbitrage and thus support viable market prices. When trades have also a temporary price impact, only the permanent price impact must be linear while the temporary one can be of a more general form.

… On the other hand, if the price-impact and price-update functions are independent, then only the price-update function must be linear in trading volume, while the temporary price impact can have various forms without offering quasi-arbitrage opportunities.
The theoretical microstructure literature usually assumes that the change in prices is time-independent and reacts linearly to trading volume. This paper demonstrates that the assumption of time independence of price changes already implies the linearity of the price-update function.

Translation to our case:

  • Round trips are the fluctuations and oscillations we are talking about.
  • The price manipulation strategy translates to our path-dependence attack.
  • I have already explained the temporary (only affects the individual transaction that has also triggered it) and permanent price impact (affects all current and future transactions equally) in my previous post. Furthermore, there exist transient price impacts that will decay over time.
  • Altogether, this suggests using the additive linear term in EIP-3416 which does not admit price manipulation, while we can add other terms as temporary price impacts.
1 Like