Comment
Author: Admin | 2025-04-28
Pretty low, because I want many low-difficulty blocks for fair accounting, miners simply does not return correct hashes (hashes corresponding current target).It's too slow to do a full 256-bit comparison for each hash generated. Taking the lead from mainline bitcoin, miners tend to "cheat" and simply look for a certain number of zero bits in the area that, when byte-swapped, holds the high-order bits of a 256-bit number. My cpuminer stops if the top 32 bits are all zero. Mainline bitcoin stops scanning for hashes if 16 bits are zero: if (((unsigned short*)phash)[14] == 0) return nNonce;Ideally, the miners would all do something like if (test for certain number of zero bits) if (perform full target comparison) // found a solution return nNonce;but we programmers can be a lazy bunch sometimes. Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.Visit bloq.com / metronome.ioDonations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj lfm Full Member Offline Activity: 196 Merit: 104 It's too slow to do a full 256-bit comparison for each hash generated. Taking the lead from mainline bitcoin, miners tend to "cheat" and simply look for a certain number of zero bits in the area that, when byte-swapped, holds the high-order bits of a 256-bit number. My cpuminer stops if the top 32 bits are all zero. Mainline bitcoin stops scanning for hashes if 16 bits are zero:The reason the mainline bitcoin only tests 15 bits is to support testnet where difficulty can be less than 1.00. 32 zero bits corresponds to difficulty 1.00.
Add Comment