In a paper published July 2, Ethereum founder Vitalik Buterin outlined the problems with the current system by which crypto miners are compensated for their work, and how to improve this process.
According to the paper, nearly all blockchain platforms use a method that is equivalent to a first-price auction – miners (or what Buterin calls block proposers) all submit their individual bids and if they are included, they pay what they have bid. The issue with this method is that there is no way for the miner to know how to place the best possible bid. For example: if one user values the inclusion of a transaction at $1 but all the other included users are bidding five cents, then it should not be necessary for the user to pay the entire dollar; instead, that user should only need to pay eight cents. However, this is not currently possible because, according to Buterin, "optimizing this requires complex models of the economy and real-time blockchain usage."
The common alternative to the first-price method is called a uniform-price auction. With this method, each sender is charged the price of the lowest included bidder. For example, if the bids are:
"...and a miner has space for five transactions, they will include the top five, and each sender will pay only $0.05."
This method is favorable because it allows a user to bid an amount that is equal to their valuation of the transaction, but if their valuation is much higher than everybody else's, they won't have to pay more than the market standard.
However, this method is prone to manipulation by malicious actors. A block proposer can include their own high-bid transaction in the block, thereby raising the clearing price and increasing their profit.
Another way a malicious miner could manipulate the uniform-price model is to plot with transaction senders to submit higher bids, promising to refund them through a separate channel.
Buterin hopes that the model he proposes will discourage the development of both complex transaction sender and miner strategies, and to disincentivize collusion:
"The following is a proposal that makes some headway in that direction relative to the status quo, though it definitely does not achieve mathematically perfect optimality. It is an attempt to find the minimal protocol change that leads to a very significant improvement over the status quo."
The method Buterin is proposing is fairly simple. The new process involves a minimum transaction fee that varies from block-to-block and is determined by a calculation that considers the amount of gas used in the last block relative to the gas limit.
When the transaction is complete, the proposer collects the transaction fee, minus the minimum fee.
Transaction senders can also specify a minimum block number: For example, if the most recent block was block number 5, the transaction sender could specify that the minimum block number they wish their transaction to be included on is block number 9. In this process, miners are still incentivized to include the most expensive transactions in their blocks.
Under this proposed method, one possible sender strategy that Buterin suggests is:
"1. Check if the minfee is higher or lower than how much you value the transaction getting included. If it is higher, do not send the transaction. If it is lower, send a transaction, bidding the minfee plus 1% (or some other standard markup)
2. Publish an identical transaction, but with the minimum block number equal to two blocks in the future, and with the fee set by an imperfect heuristic algorithm as you would use today"
Buterin explains that in most cases, because blocks are usually only half full, the first transaction would get included in the block and this would reflect an accurate transaction value. However, in the rare case that a block was to become full, the sender's first bid would be too low. In that case, the second transaction should go through, because the minimum fee would have evened out.
Buterin suggests a potential way to streamline the process for transaction senders by allowing their bid to express their preferences more specifically, for example, by allowing users to express their fee in the form of "whatever the minimum fee is, plus an increment Fi, up to a maximum of Fmax." He also suggested that senders might be able to express how long they are willing to wait before paying a higher fee, or "a number of other options."
Buterin notes that this method allows the protocol to "capture" most of the proceeds from transaction fees, which may help stabilize the blockchain.
Buterin tweeted that the proposal is "not dependent on Casper, sharding or abstraction; if well reviewed and people agree it's a significant improvement, it could technically be implemented as a change to mainnet."