What is the Problem?
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
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)).
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.
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.
- 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.
- If the
MINER_TIPfunction 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.
If anyone is interested in drafting an EIP proposal with me, please reach out to my EthResearch account or my Twitter @kristofgazso