Your suggestion effectively allows the miners to decide the blocksize. It would be trivial and cost-free for the miners to either send many transactions to themselves with an arbitrary transaction fee, or to include fewer transactions than is economically logical.
Actually, there is the cost of opportunity because miners don't get paid mining their own transactions. Also, I don't see why a miner would purposely raise his own storage cost...
A miner does not get paid to confirm his own transactions, but he also does not pay anything to confirm his own transaction. If the maximum block size is based on the last x number of blocks, including additional transactions will increase the maximum block size in the future. There is some opportunity cost, in the form of the greater chance that a block will be orphaned when it includes an additional transaction.
It doesn't make any sense. When the demand for block space exceeds the supply you'd rather mine high paying
real transactions than your own
no paying fake transactions.
The miners could make blocks look full with their own fake transactions that appear to pay high transaction fees, and leave only a small number of actually paying transactions outstanding. This would make it appear the market transaction fee rate is higher than it actually is.
The additional storage cost of including a transaction is close to zero.
Does that mean there is no miracle solution to spams?
Correct. A miner with a small percentage of total mining capacity could potentially broadcast valid spam transactions, and end up with more mining revenue after accounting for the transaction fees from the spam transactions.
If something like this BIP were to be implemented, I would suggest the automatic growth be limited to 10 years, and after 5 years, a new hard fork can be implemented (if there is consensus) to extend the growth indefinitely.
I agree, 5-10 years seems more reasonable than 40+ years. But what do you think about the growth percentage? Is 17.7% is just right or feels too big considering Bitcoin community is conservative?
It is an arbitrary figure, and I haven't studied the data supporting it. I would prefer that the rate be too high than too low. If the rate is too high, a soft fork can be implemented to reduce the rate, but if it is too low, a hard fork would be required. It is much easier, almost trivial, to implement a soft fork, while a hard fork is at least an order of magnitude more difficult.