I realize there’s been a lot of discussion over the best way to charge transaction fees, but if I don’t think anybody has proposed a system where the gas price is the same for all transactions in a block, and miners upvote/downvote the gas price by small increments rather than the gas limit. All transactions with that much fees goes through, otherwise it’s immediately rejected by the network, and there is no long-lasting mempool of transactions with too-low fees.
It seems like this would make fees a lot more stable, and users would be able to know for sure whether or not their transaction will get through. Users sending transactions with low fees will also not take up space in the mempool: currently those transactions could actually incur higher costs to miners since they have to be kept around for so long and might never be included in a block. When congestion happens, miners would upvote the gas price higher and higher; people unable to bear the price will simply wait a while before trying to send their transaction, rather than sending their transaction to have it languish in a mempool for hours.
Such a system, especially if miners’ income comes mostly from transaction fees, would definitely cause higher fees, but that’s not necessarily a bad thing as it incentivizes people to run validators. Under the current system, if blocks aren’t full validators basically can’t make any money out of transaction fees, and the incentive is to quit being a validator, until the number of validators is small enough that the small amount of transaction fees can cover their total cost. Under my proposal, the validators as a whole would act as a monopolistic cartel and raise fees towards the revenue-maximizing point, above which people start quitting using Ethereum because the fees are too high and the total amount of fees drops.
Nobody proposing this system probably means it absolutely sucks, though. Perhaps a miner cartel deciding fees would lead to ridiculously high fees?