EIP-1559: Fee market change for ETH 1.0 chain

@dominic one major part of EIP 1559 that mitigates the attack is the part where the fact that fees are burned makes it economically safe to retain some issuance, which pushes the chain away from the fee-dominated world that the article describes. Additionally, the fee burn makes transactions themselves less profitable to include, compounding this effect.

Partially filled blocks don’t necessarily cut the MINFEE to zero; that would require average blocks to be less than half full on average, even when there is a high tip/bribe to be earned from including more.

1 Like

Maybe I’m too pessimistic here about peoples (and miners) intentions but the mining_CCS paper postulated an equilibrium with half filled blocks because that would be most profitable for miners. The paper assumes that miners are players in game theory sense and strive to optimize their revenue, eventually forming a let’s call it “gas OPEC”. Not by direct collusion but by behaving economically efficient.

It just seems to me that with EIP-1559 there are many mining strategies that perform economically better than to just fill the blocks. More than without EIP-1559. In fact because of the burning of EIP-1559 the revenue difference between “fill all blocks” and “keep the blocks 1/2” is amplified creating (missing mathematical proof) an even greater incentive to form the “gas OPEC”.

This seems to be more a social experiment than a technical. So I’m super curious to see what happens really aftet deployed. Just was confused quoting this paper as solved – while I read it as amplified by 1559

Cheers and thanks for all the work @MicahZoltu @vbuterin

1 Like

The mining_CCS paper’s premise depends on fees going entirely to miners and there being no protocol level base fee. When you add these things, the attacks described in the paper no longer make sense because they are built on a premises that are no longer true. Further, if you try to reconstruct the same attack with these new premises you’ll find that the attack no longer works.

If you believe that there is still a valid attack vector I encourage you to draft up the attack proposal (describe what strategy each participant is following) and it can then be evaluated directly.

1 Like

An “attack” is simple. I wouldn’t call it an attack though, it’s just a mining strategy

# Mining only most expensive tx but less than
# TARGET_GAS so that BASE_FEE goes down 
SELECT * FROM TRANSACTIONS ORDER BY gas_price HAVING SUM(gas_used) < TARGET_GAS_USED  

E.g. they mine exactly lower than TARGET_GAS, so the MIN_FEE can only go down, but they never have to mine empty blocks. If nobody plays their game they will have 50% less tx fees than anybody else, but the BASE_FEE will shoot up and eat most of the TX revenue anyway. So not much lost.
If on the other hand more miners use this rule, the BASE_FEE will converge to it’s minimum and TX_FEES will compete with BLOCK_REWARD exactly like today.

Mathematical I think it’s important to consider the ratio between the total block reward and the contribution of tx fees to it:

REWARD = BLOCK_REWARD + TX_FESS

In Block 10041942
REWARD = 2 ETH (Block) + 0.15 ETH (Fees) 
TX_FEES = 7.5%

In Block 10641942
REWARD = 2 ETH (Block) + 2.2 ETH (Fees) 
TX_FEES = 53%

Giving up 50% of 0.15 in TX_FEES in the short term to gain 2.2 ETH TX_FEES in the long term seems a pretty good deal.

So another strategy could be to target a certain reward % from TX fees by fixing the tip/bribe. This might have been suggested somewhere else:

# Mining only tx above a certain tip threshold
SELECT * FROM TRANSACTIONS ORDER BY gas_price WHERE gas_price - BASE_FEE > 100GWEI

In this different miners could be setting different tip levels, maybe based on their cost. But the effect would be the same as in strategy #1, the BASE_FEE would be damped until the minimum tip is reached. But where is that new equilibrium?

Anyway the strategies become much more interesting with EIP-1559 and there are many more that could be explored. So I’m super curious where it will settle. There is also a big mid-term social effect. E.g. once miners go from the current high tx fee rewards to the low expected rewards after EIP-1559 deployment with default configuration, how will they react when thinking about the “good old times” when you could make 2.2 ETH from tx fees alone. It seems unavoidable that miners will somehow mess with this logic to optimize their revenue.

The blocks mentioned:
https://etherscan.io/block/10641942
https://etherscan.io/block/10041942

1 Like

This is the exact attack I describe in my blog post above. The only difference is that I find the math to be simpler if you have the attacker/coalition split their hashing power between “empty blocks” and “double full blocks”. However, the arguments are no different if you instead have the miner mine a bunch of undertarget blocks instead.

The summary is the same as in that article: There exist 51% attacks that are profitable for everyone who joins your attack. 51% attacks against 1559 (as described here and in the article) are non-profitable for any individual who joins the attack. It is always better to not participate in the attack and instead just encourage others attack (so you can benefit from the attack without having to pay the cost).

1 Like

Consider a hypothetical automated market maker as a protocol-level price oracle for the trading pair GAS/ETH whose reserve of gas and ether after the n-th trade are g_n and f_n \times g_n, respectively. Moreover, let g_{n+1} = g_n + M/2 - w_n, that is, g += excess. It can be proved that, the limit of f_n as the initial reserve g_0 goes to infinity is given by:

  1. the Almgren-Chriss additive formula in the case of constant sum market maker,
  2. and your proposed exponential formula in the case of constant product market maker.

This observation immediately implies that both of these update rules (and any other one based on another constant function market maker) are path independet. Ironically, this is exactly why we have arrived at these formulas in the first place when attempting to solve a simple instance of path dependence attacks.

I personally oppose the change as written for personnal financial reasons.

There current system incentive miners to mine transactions with the highest gas price first. This lead to games where the daily or weekly price (based on blocktime of last reward+delay) is awared to the first better.
So it s a race for being mined first within the same block since everyone pay enough to get their transaction mined inside the same block.

I recently invested $5000 for running my own full Ethereum archival node in order to beat everyone in terms of latency and based on my understanding, transaction ordering within the same block would become random which would break those games/smart contracts and thus my investment.

Your proposal would increase the cost of running a full archival node. The 500Gib per month growth of today isn t free.

This is still the case with 1559. The only thing that changes is that if you don’t care about within-block ordering, then you will likely just pay some static fee. If you do care about within-block ordering you can pay a higher gas price and get that still.


Off Topic

Just so you know, an archival node won’t help you win gas price auction/front running/backrunning games.

And for dapps/games where participants needs to race for being mined first, there s no possibility to upgrade as the change would break the current predictable transaction ordering inside a block, correct?

There are no guarantees for transaction ordering. Right now it is entirely dependent on the miner. In the future maybe that will change, but there are no solid plans on how to do that at the moment. 1559 will not change the transaction ordering logic in a significant way that I know of.

In the case of the game I m playing, things are a bit more difficult. One need to also look at past confirmed transactions of the day for calling the contract with the right parameters.

Currently, if someone broadcasts a transaction fee higher than yours, you cancel your transaction by rebroadcasting it with a higher fee than your competitor using nonce.
As of course, other will do the same so the aim is to maintain being the highest bidder as long as possible until blocktime is reached.

Each call to web3/Etherscan involves a 200ms latency in addition to the latency of the network. A time during which your competitor is still the first. Of course, a local http node makes this better but ipc involves an even lower latency.
So it s about detecting and replacing as fast as possible.

Correct, but under the current auction system, it s more computationnaly simple to mine the highest gas price first and then taking the next highest price and repeat until blockgas is reached.
This act as an incentive which is why there s a de facto transaction ordering inside a block.

As far I understand once the current transaction type are no longer accepted (leaving only the new one), there would be not predictable within block ordering. I also assume if the 2 transaction types are mixed that there would be no possibility to influence the transaction ordering between the types If I m not the miner.

This is incorrect in the latest version of the specification (not merged yet). There is talk of deprecating legacy transactions eventually though.

This isn’t true. Block ordering with 1559 (all versions discussed) is still gas price order. If you want to be at the top of the block, pay a higher gas price. Nothing is changing on this front.

This is entirely up to miners. I don’t know what the clients are planning on implementing if we go with 2 transaction pools (a version of the specification that I don’t think anyone actively wants), but it isn’t a consensus concern and miners can change the behavior if they want (as they can now).

Transaction ordering is entirely at the whim of miners, who sometimes defer the decision client developers. Prior to 1559, transaction inclusion was entirely at the whim of miners, but 1559 makes it so inclusion is partly miners, and partly consensus. However, as long as something is valid to include, miners can still choose to include it and how to order it just as they can now.

How about a quadratic increase of the 1559 benefits, as per 1559Q? EIP-1559Q: Quadratic burn of gas fees as fees increase

1 Like

It s completely up to miners. But mining pools have to follow what pay the most and cost the least in order to compete.

My fear is if the current underlying incentive changes, miners would no longer have to perform as they does today.

The miners would always earn more from higher prices under EIP-1559Q just decreasingly so. Miner would still be incentivized to handle higher paying txs. The Ethereum network token would increasingly benefit as they do so.

1 Like

As I mentioned on today’s AllCoreDevs call, it would be great to get another round of feedback from client developers about EIP-1559. Last time it was discussed, the main issue that was brought up were concerns about the network’s ability to handle full blocks under 1559 (i.e. blocks twice as large as our current block size). We’ve been working on trying to answer that question as part of the implementation wor.

It would be good to know if there are any other major red flags that clients see with the proposal so we can proactively address them as well.

Here is a community outreach report on EIP-1559 that the Ethereum Cat Herders conducted: https://medium.com/ethereum-cat-herders/eip-1559-community-outreach-report-aa18be0666b5

2 Likes

Biased report. Lets say a miner creates an EIP that exponentially increases gas costs for Yield Farmers. Then they create a fake report that says the community is over 60% in favor if you remove the yield farmers. Brilliant!

Here is what it will sound like.
If we exclude yield farmers, 60% of projects were generally positive

Enough is enough, no more coming here and insulting this community and developers with made up “community” numbers. Show your data of 60% approval versus 40% miners ONLY not in favor.

The miners are tired of Defi claiming only they are the community that matters.

2 Likes