@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.
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
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.
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.
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).
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:
the Almgren-Chriss additive formula in the case of constant sum market maker,
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.
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.
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.
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.
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.