Miner issues are just one thing what came to my mind. What about validating transactions? How the pool can be sure that miner is running up to date bitcoind which do full validation of transactions? Not talking that if every miner takes his own set of transaction, pool need to calculate merkle root for every submit, to check its correctness.

I don't think it *cannot* be done, it is just extremely hard and there's no economic motivation for such complication on pool side. Just see current pools, they are full of security and stability bugs even while using such trivial protocol like Stratum...

slush

On Thu, Jun 19, 2014 at 10:39 PM, Mark Friedenbach <mark@monetize.io> wrote:
Do you need to do full validation? There's an economic cost to mining
invalid blocks, and even if that were acceptable there's really no
reason to perform such an attack. The result would be similar to a block
withholding attack, but unlike block withholding it would be trivially
detectable if/when full validation was performed.

To protect yourself and to detect incorrect mining software you could
stochastically validate a randomly selected sample of shares, as your
hardware requirements allow.

On 06/19/2014 01:26 PM, slush wrote:
> With GBT, simply hashing the block header is not enough, because pool
> cannot rely on anything provided by the client. Its not only about
> things like withdrawal attacks, but more about hidden bugs in various
> miners. It is extremely hard to do full validation for *every* of
> submitted shares.