Tragedy of the Commons (
https://en.bitcoin.it/wiki/Tragedy_of_the_Commons) is a problem that bitcoin will face as miner fees decline. Since including a transaction in a block is negligible, miners will accept all transactions with positive fees (no matter how low). Then, users will set their fees to the minimum possible. This in turn leads to less bitcoins going to fees, and less network security (since the cost of 51% attack = cost of mining = revenue of mining = fees at this point).
Many solutions have been proposed, but I don't like any of them (since most of them involve hard coding constants). I have a solution that requires no hard coding of constants!
How it works is that each block specifies a fee percentage (say p), and all transactions are based on that percentage.
If a transaction comes with a fee that is more than p, additional money is refunded back to the user so that it is exactly p.
If a transaction comes with a fee that is less than p, that transaction can't be included in that block.
This means that if a miner selects too low of a p, they will get less money (since all transactions are lowered to that amount), but if they they choose to high of a p, they will get less money (because there will be some transactions they can't include). They have to choose the correct p, which won't approach 0! Users in turn have to include enough fees to get accepted into blocks. In actuality, if there are a bunch of low fee transactions, someone will eventually include them with a low p, since there are so many. So your fee determines basically how soon your transaction gets confirmed.
What do you think?