Author

Topic: Действительно ли поиск пулами независим&#1099 (Read 1253 times)

LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
Каждый пул первой транзакцией блока совершает перевод 50 BTC на свой адрес
или на адреса всех участников пула (в зависимости от реализации выплат пула).

что это за хрень hashMerkleRoot
256-битный хеш, основанный на всех транзакциях в блоке.
Читаем: http://ru.wikipedia.org/w/index.php?oldid=44152249
legendary
Activity: 1286
Merit: 1004
Возникла мысль что пулы разадют одни и те же задачи и поэтому поиск пулами решений не являются независимыми, и чей пул быстрее тот как бы "отнимает" решения у других пулов. И таким образом неудача пула может быть больше чем статистическая. (особенно для маленьких пулов)


всё зависит от функции getwork, я често говоря не нашёл там какой то функции рендомности.

задание выглядит так
Code:
pblock->nVersion;
pblock->hashPrevBlock;
pblock->hashMerkleRoot;
pblock->nTime;
pblock->nBits;
pblock->nNonce;

единственно что здесь изменяется это
nTime = время в секндах
hashMerkleRoot - магическая хрень

так ни при генерации nTime ни при создании hashMerkleRoot, я не нашёл рендомности.
Значит логично предположить что у двух пулов они будут совпадать.
Там есть всякие nExtraNonce - которые тоже не являются рендомными.

Кто опровергнет предроложение?  или продолжим разбор что это за хрень hashMerkleRoot
Смотреть в исходниках.
Code:
Value getwork(const Array& params, bool fHelp)

хотя есть преположение что туда пихается транзакция своя для перевода 50BTC  на свой кошелёк.
Jump to: