What is the Problem?
If the BASE_FEE
that is included in the transaction is burned, then the miners would not have any incentive to include transactions in mined blocks. This would clearly be an existential problem for the Ethereum blockchain, however the creators of EIP-1559 have thought of this and therefore they have implemented a miner’s tip system, where users can submit tips to miners alongside the BASE_FEE
in order to get their transaction included.
This miner’s fee is the problem. If the point of EIP-1559 was to improve UX, then having one fee-bidding system replace another fee-bidding system is underwhelming. Users would still have to bid to get their transactions included even alongside the BASE_FEE
, so from a UX standpoint, this EIP is less effective than it could be.
The Proposed Solution
We should get rid of the miner’s fee bidding system entirely. Instead of having to include tips alongside the BASE_FEE
, a MINER_TIP
should, similarly to the BASE_FEE
, be calculated based on supply and demand mechanics once per block. I would propose that this MINER_TIP
be a value that is a percentage of the BASE_FEE
, with the percentage being a function of the total hashing power of the network under PoW and, or the total ETH staked after PoS.
I propose that this percentage, similarly to ETH staking rewards in ETH 2.0, could be MINER_TIP = MINER_TIP_PERCENTAGE*BASE_FEE
, where MINER_TIP_PERCENTAGE = min(1, a/sqrt(b*TOTAL_TERA_HASHING_POWER))
. a
and b
would be some constants.
The following graph represents how MINER_TIP_PERCENTAGE
would look for different TH/s of hashing power using the previous equation with a = b = 1
.
The entire equation could be changed if need.
For ease of explanation, I would define TOTAL_TX_COST
just in this post
TOTAL_TX_COST = BASE_FEE + MINER_TIP
If there are more transactions, BASE_FEE
would automatically increase until blocks are only 50% filled just as before. Given that MINER_TIP
is a percentage of BASE_FEE
that is constant in the short term (i.e. hashing power stays constant), it would always move alongside BASE_FEE
in the short term. Vice versa for when the number of transactions temporarily decrease. Therefore the TOTAL_TX_COST
stabilizes in the short run.
In the long-run, the total hashing power can also change. Starting from an equilibrium, if the MINER_TIP
decreases, miners/stakers will earn less fees per block, some miners/stakers will quit the network and total hashing power will decrease. Consequently, the percentage of the TOTAL_TX_COST
that consists of the MINER_TIP
increases, resulting in higher fees going to miners/stakers until the hashing power of network stabilizes. Therefore the TOTAL_TX_COST
stabilizes in the long run as well.
Counterpoint:
But under EIP-1559, the miner-tip will usually be stable at around, say, 1 gwei, and only BASE_FEE
will change
For new users, I believe the added complexity of paying a tip in addition to paying a base transaction fee is unnecessary. It would be a lot simpler from a UX perspective if they only had to worry about one number.
Conclusion
The advantages:
- Anyone transacting would have to pay
TOTAL_TX_COST
, which would be known beforehand, completely eliminating the need for a bidding system. - Assuming an effective function to determine
MINER_TIP
, Miners/stakers would be reliably compensated for their work and would always have a direct incentive to include transactions in blocks. - The deflationary policy of Ethereum (a likely outcome of EIP-1559) will not change.
The disadvantages:
- If the
MINER_TIP
function is not appropriate, it could lead to either the overpayment of miners or, if the tip is too low, a network security risk due to low hashing power/ETH staking. - If the network reaches maximum gas capacity, we will have no way of prioritizing transactions in the short-term by bidding miner tips up unlike in the current EIP-1559 proposal, and we will have to rely on the adjustment of
BASE_FEE
. Perhaps a modification to my proposed system can alleviate this.
Contact
If anyone is interested in drafting an EIP proposal with me, please reach out to my EthResearch account or my Twitter @kristofgazso