EIP-1559: Fee market change for ETH 1.0 chain

Interesting reads, thanks.

I suspect that this form of attack (or shall I say abuse, intentional or not) provides a counter-example to the thesis that this proposal is incentive-compatible for users. Tim Roughgarden has a proof for its user incentive-compatibility in page 27 of his article, however his proof is local to a single block, so it doesn’t consider the possibility of a user maximizing their utility by not submitting the transaction and waiting until the next block if they can determine that the base fee is decreasing due to blocks being under-full.

Ironically the strictly delayed price impact that makes this attack particularly profitable (even in a relatively stable market close to the steady state) seems to be intended to make the pricing mechanism incentive-compatible for miners (there’s plenty of commentary about this in Tim’s article as well), so this seems like a case of inadvertently giving users a tool for price manipulation while trying to prevent miners from doing the same.

That means that there is a theoretical benefit from the delay but I think that it also comes at a cost of economic efficiency. Suppose that the market is initially near equilibrium with a base fee close to its optimal market-clearing price (call it p0) when the network is perturbed with a double-full block added to the blockchain at time t0, causing a temporary price impact lasting between t1 and tn, at which point the base fee drops back to within some arbitrary threshold dp of the previous equilibrium price: In such a scenario a total of ~12.5M gas capacity of the blocks between t1 and tn will have been auctioned off at p0, displacing ~12.5M gas worth of users with higher marginal utility of the order of p0+dp – An example of economic inefficiency.

I don’t think that’s inconsistent with @vbuterin’s argument justifying the economic efficiency of this pricing mechanism in his article. His argument seems to be mostly concerned with this mechanism being efficient on the average (e.g. the average cost paid by users approximating the average social cost born by the operators of the network). However a pricing mechanism may seem to be efficient on the average while remaining highly inefficient locally if you focus on any specific case, e.g. if the price paid by different users is largely disconnected from their share of responsibility in the social cost of running the network, or if the revenue obtained from users is disproportionately distributed to speculators (through the base fee burn) instead of to the individuals actually bearing the cost of running the network.