What does "H-not-zero" and "Share is above target" mean? While mining with cgminer on TripleMining, I noticed that I was getting something like:

[2013-09-14 19:02:12] Rejected 88dde730 Diff #/1 GPU 0  (H-not-zero)


What does this error mean, why is it causing my shares to be rejected, and what can be done to fix it?

I did some reasearch and it has something to do with the header not starting with zero. What does that mean?

I have the latest version of cgminer.



I switched pools, and now it is saying "Share is above target". What can I do about that?
H-not-zero means the hash of the header isn't zero for the first 32-bits. In other words, it indicates a share that was inherently invalid and could never have been valid. This is generally caused by overclocking, overheating, or undervolting. You can probably get these errors to go away by lowering the clock speed, raising the voltage, or improving your cooling.

If you aren't getting very many of them, you may prefer to just ignore them. All that matters is the rate at which you are generating valid shares. If 1% of your shares are invalid and you can only get the errors to go away by reducing your clock speed so that you generate 2% fewer shares, it's not worth it. On the other hand, if 5% of your shares are invalid and you can get the errors to go away by dropping the clock speed by 2%, it's probably worth it.

In one specific case, I was getting that message while mining with bfgminer and made the mistake of sha-256 mining on a scrypt pool = invalid hashing.