Возникла мысль что пулы разадют одни и те же задачи и поэтому поиск пулами решений не являются независимыми, и чей пул быстрее тот как бы "отнимает" решения у других пулов. И таким образом неудача пула может быть
больше чем статистическая. (особенно для маленьких пулов)
всё зависит от функции getwork, я често говоря не нашёл там какой то функции рендомности.
задание выглядит так
pblock->nVersion;
pblock->hashPrevBlock;
pblock->hashMerkleRoot;
pblock->nTime;
pblock->nBits;
pblock->nNonce;
единственно что здесь изменяется это
nTime = время в секндах
hashMerkleRoot - магическая хрень
так ни при генерации nTime ни при создании hashMerkleRoot, я не нашёл рендомности.
Значит логично предположить что у двух пулов они будут совпадать.
Там есть всякие nExtraNonce - которые тоже не являются рендомными.
Кто опровергнет предроложение? или продолжим разбор что это за хрень hashMerkleRoot
Смотреть в исходниках.
Value getwork(const Array& params, bool fHelp)
хотя есть преположение что туда пихается транзакция своя для перевода 50BTC на свой кошелёк.