About CPU resources - as usual, Luke is mixing all stuff together. GBT is quite complex specs, so:
a) You can achieve quite similar result as stratum with GBT, which is *almost* as effective on validating shares as stratum (i don't want to dig into differences for this moment), but it is *not* decentralized.
No, GBT is
always decentralized; while a centralized extension would be possible, there isn't one (yet?).
b) You can achieve decentralization, by leave tx selection and block creation to the miners, but then validating of shares became real hell on the pool side and bandwidth usage and I'm almost sure that no major pool is going to support *this* possibility, because it's insanely difficult to validate everything properly.
There are other easier ways to cheat the pool out of blocks than including phony transactions, so if your pool is really so strained you could simply skip validating them. The only risk is a miner who is accidentally making invalid blocks - that can likely be countered by doing a full check only occasionally. Bandwidth use is mostly unchanged, if you use workids (or similar) to cache the templates being mined.
b) We (at least me and other pool ops and miners) want some very optimized protocol which will minimize usage of all resources to minimum. This was missing until now, but with Stratum it is DONE.
Hindsight is always better, but... it would have been nice if you had worked with us and brought up your concerns sometime between February and July so GBT could have taken them into consideratoin. It's a shame to need two totally unrelated protocols for almost identical use cases. I also don't see why miner software authors (whose development is mostly made up of donations) should be expected to have to deal with it simply because a few big pools (with fees and income) demand yet even more savings on top of what GBT already gets them. It makes sense for some individual miners (who run their rigs off cellular modems or something?) might need to reduce bandwidth, but there's no reason they couldn't run a private proxy that does a Stratum-like centralization on their own non-limited connection somewhere.
I'm not here to say that everybody HAVE TO mine on centralized pool. I just give a possibility to do centralized mining as easy as possible, replacing current non-optimized, but widely supported getwork on the pools. Why not to have such option?
Option implies miners have a choice to mine decentralized on your pool. Are you saying that will be possible?
Actually decentralization was a problem in times when only my pool and maybe deepbit were available. Now with tens of pools it ends up with *almost* decentralized network, which is still very effective (or can be, after replacing getwork to any better solution).
"Almost" decentralized network only protects against 51% attacks (and then, only if the few people making up 51% aren't compromised); there are other attacks that can be done with less.
...my bfl asic...
Looks like you care about decentralized mining, but don't care about centralized manufacturing of miners, which is much bigger risk for bitcoin network
I'm sure you're aware since you noted sarcasm, but just to clarify explicitly: there is no risk at all to the Bitcoin network from "centralized" manufacturing provided the distribution/use is indiscriminate (which BFL has promised, although other ASIC vendor(s) aren't so Bitcoin-friendly apparently).