The current [...] generators [...] only ignore a block if it is deemed illegal.
[In the next breed of generators] certain 'rules' will be voluntarily agreed upon, some will not accept blocks that have two many low fee transactions, and will wait for blocks that have only higher fee transactions.
The risk of a generator who accepts too many (new) low fee transactions is that the most of the network will ignore and orphan it's block.
This is an interesting, market based solution. Generators can stop competitors from undercutting them, by "voting" out blocks that don't adhere to their own customized rules. I'm not convinced that it is sustainable. It looks like a problem for game theory.
Yes! This sounds cool. When generators disagree there will be inefficiency, confusion and confirmation-delays. It would be useful to mediate agreement among competitors.
If this sort of thing works, then miners should be doing it now! This will stop the spam problem: If miners start rejecting blocks that are too generous to spamers, we shouldn't need a block size limit. I suppose, though, that the block size limit IS an implementation of a voluntary rule. Though a rather primitive one, it's sufficient for now.
Perhaps miners will converge to using an optimal rule, similar to what I've described and I'm trying to preempt this development. This definitely looks like the problem of finding an "optimal strategy" in game theory.
Miners
could do it now, but the software-capital cost and uncertainty look high enough to postpone it for a while.
Meanwhile, it should be possible to simulate the network. No need to calculate hashes, just model a population of generators G[0 .. g] pulling hashrates HPS[0 .. g] and having their own rules & motivations, and some clients.
This needs three sets of parameters,
- one to describe generators (effective costs for electricity, existing hardware & incremental hardware purchase) and allowing for resistive heating, gamers' hardware habit as well as hard-nosed corporations etc.
- another to describe 'voluntary rules' used by generators for declaring a block of transactions valid. We have ideas here, they just need a weighting parameter each s they can be combined.
- finally (the hardest?) for a model which generates transactions among a population of merchants, speculators, hoarders, spammers etc.. Assuming they all know what the 'rules' are at any time, but can only influence them by generating, spending or getting patches accepted and installed.
Might make an interesting student project (one semester?). I don't have time, sorry.
I suspect the generator rules can vary with time, but to fend off chaos they should be a deterministic function of the content of previous block(s) and not depend on the transaction pool. I also suspect that if the customers & merchants do not hold a significant fraction of the Ghash/sec, the 'rules' will tend to make a generator cartel with high fees.