Since distrust in the pools is making rounds again,http://forum.bitcoin.org/index.php?topic=9137.0
Slush is right, the pool must verify every checkwork, the more miners there are, the lesser the freedom to pick txes to be included.
This has been discussed few times on IRC already. Some suggestions how to make it work:
Miners will have to agree upon which txids will be accepted into the block they're focusing on.
Previous shares server as voting weight.
It is being proposed in the context of fully distributed P2P mining, to avoid single point of failure. Taking down big pools to get advantage in block generation is pretty much real as an attack to hurt credibility of bitcoin as a payment medium.
Basically every miner spams every other miner in his "ring" with txids he wants to include, others separately decide if the tx should be in the block based on
tx_prio = miners_shares * priority_given_by_miner.
Each miner has to checkwork after other miners, and record their shares - just the POW - block txes are validated and constant after voting is closed.
The coinbase is decided upon in the same way, thus miners will be paid immediately.
This could be integrated into the bitcoind itself and piggyback voting during tx propagation. Once a decent P2P structure is implemented (miner rings acting as close supernodes), mining pools will dissolve along with the danger of taking over the network.
Please discuss if you have ideas how to make this scale.