Bitcoin Forum

Local => Кодеры => Topic started by: somenick on May 10, 2012, 05:35:42 PM



Title: Действительно ли поиск пулами независимы
Post by: somenick on May 10, 2012, 05:35:42 PM
Возникла мысль что пулы разадют одни и те же задачи и поэтому поиск пулами решений не являются независимыми, и чей пул быстрее тот как бы "отнимает" решения у других пулов. И таким образом неудача пула может быть больше чем статистическая. (особенно для маленьких пулов)


всё зависит от функции 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  на свой кошелёк.


Title: Re: Действительно ли поиск пулами независим&#
Post by: LZ on May 10, 2012, 07:39:01 PM
Каждый пул первой транзакцией блока совершает перевод 50 BTC на свой адрес
или на адреса всех участников пула (в зависимости от реализации выплат пула).

что это за хрень hashMerkleRoot
256-битный хеш, основанный на всех транзакциях в блоке.
Читаем: http://ru.wikipedia.org/w/index.php?oldid=44152249