@editor-Ajian is correct to point out that the basefee is essentially a tax on transactions. But the tax can improve welfare if it is a Pigouvian tax designed to correct for negative externalities of larger blocks. Also, one may argue that miners’ supply of block space is perfectly inelastic as long as they are compensate d for uncle risk, and that the risk is linear in gas used in the block. Hence, even if the level of the tax is higher than what is necessary to correct the externalities, it can transfer MEV from miners to the protocol (i.e. ETH holders) without causing much distortion or hurting the users of the protocol.
The fundamental issue with EIP-1559 is not that it introduces a tax, it is who the tax is levied on. Under the current format, the users who use the protocol after it has been congested pay higher basefees. As pointed out by @STAGHA, this is akin to making night drivers pay a higher toll because the road was congested during the day. This mistargeted taxation is unfair, causes congestion, and intensifies gas auctions. It fails to address the negative externality that a Pigouvian tax is supposed to internalize. In fact, I am a bit surprised that this was pointed out more than two years ago but has not led to a wider discussion.
When a block is congested, users of that block should be the ones paying the fee. Let me reproduce below my post on ethresear.ch that describes the problems of EIP-1559 in more detail and suggests a preliminary model for an optimal fee design.
The Problem
EIP-1559 will introduce a protocol fee on Ethereum transactions and allow the block size to be dynamically adjusted in response to congestion. Charging a protocol fee when the chain is congested is an efficient way to shift MEV from miners to ETH holders without hurting the users. Also, a flexible block size makes the allocation of block space more efficient. However, under the current fee structure, the wrong people can end up paying for congestion.
Suppose there are two blocks, and we target an average block size of one transaction per block. There are two users, Alice and Bob. Normally, Alice sends one transaction in Block 1, and Bob sends one transaction in Block 2.
Now, suppose Alice receives a shock and wants to send two transactions in Block 1. EIP-1559 allows her to do so; as long as she pays enough to compensate for the increased uncle risk, the miner will include both of her transactions in Block 1. This is great for Alice. However, because Block 1 was larger than the target size, the base fee is increased in Block 2. This means that Bob either has to pay the higher base fee or wait a block to send his transaction. Bob ends up paying for the congestion that Alice caused.
In general, when users congest a block, it is users of the subsequent blocks that pay for the congestion. This is undesirable for a couple of reasons.
1. It is unfair.
It is not fair that Bob should pay to allow Alice to send an extra transaction.
2. It increases congestion.
Because Alice does not care whether Bob pays more, she will congest her block whenever she has the slightest need to do so. In economics jargon, congesting a block exerts a negative externality on the users of future blocks. Because users do not pay for congesting their block, they will congest it too much relative to what is socially optimal.
3. It intensifies gas auctions.
Let us change our example and assume that Alice and Bob are competing to include their transactions in Block 1, which is expected to be congested. If Bob loses, he will not only have his transaction delayed, he will also pay a higher base fee in Block 2. So outbidding Alice becomes even more important. The same will hold for Alice, and as a result, the gas auction will become more intense. Users will pay larger tips to miners to avoid paying higher base fees to the protocol.
A Solution
I propose that when a block is congested, the users of that same block pay for the congestion. We can implement this by charging the miner a fee based on how much gas is used in his block. For example, a miner who uses $x$ gas in his block might be required to pay $f(x)=kx^2$ gwei where $k>0$ is some constant. The marginal cost of including one additional gas is $2kx$ gwei, so the miner will include all transactions that pay him at least $2kx+\epsilon$ gwei per gas until he reaches the block limit, where $\epsilon$ is compensation for uncle risk.
We can think of $2kx$ as a Pigouvian tax on block space. When the demand for block space is high, $x$ will be large (block size will be large), $kx^2$ will be large (the protocol fee will be large), and $2kx$ will be high (users will have to pay more to be included). Hence block space will adjust to demand, and we can calibrate the fee function $f(x)$ to target the average block size that we want.
Technical Asides
It should not matter in theory whether we charge the miner or the users. But charging the miner may be easier to implement.
To choose $f(x)$, we could use a supply and demand model of block space where the social cost of centralization risk is an increasing function of the average block size. We would solve for $f(x)$ that makes the agents internalize the social cost, while ensuring that users do not bear too much of the tax burden.