Author

Topic: Валидность заголовка (Read 551 times)

full member
Activity: 216
Merit: 100
April 07, 2014, 05:24:24 PM
#2
Code:
target = (bits & 0xFFFFFF) * (256 ** (bits >> 24))
** — возведение в степень.
По-русски: старший байт bits — порядок (256-ричный), остальные три байта — мантисса. Её старший бит в свою очередь является знаковым (по историческим причинам), поэтому допустимый диапазон мантиссы — от 215 до 223-1.
JiZ
newbie
Activity: 1
Merit: 0
March 26, 2014, 08:08:33 PM
#1
Не могу понять, как заголовок блока проверяется на валидность.
Имеем заголовок - header и поле, задающее сложность - bits.
От заголовка вычисляется хеш: hash = sha256(sha256(header))
Как далее, зная hash и bits проверить заголовок?

Насколько я понял, надо преобразовать 32-битный bits в 256-target и сравнить его с заголовком,
т.е. если hash <= target , заголовок валиден.
Если вышеописанное верно, как bits преобразуется в target?

Jump to: