Так "свой" диапазон, или всё-таки весь?
Спасибо, я почитал: майнер получает от пула т.н. "work", причём, сильно чаще, чем один
на блок. Было бы сильно странно раздавать всем майнерам один и тот же "work",
который они могут пербрать за пару милисекунду.
По сути дела каждый получает свой диапазон.
Там есть какие-то параметры (их 2 или даже больше) для coinbase-транзакции, которые
имеют достаточно большую битность (4 + 8 байтов кажется)
Плюс к этому майнер получает меркль-дерево от пула. Он по сути дела сам формирует
scriptSig coinbase-транзакции, потом быстренько считает меркль-хэш того что у него
получилось и потом уже перебирает 4 миллиарда nonce в заголовке.
Если находит что-то подхолящее - то отправляет обратно свой nonce для блока
и эти "экстранонс" для воссоздания scriptSig на пул. Пул заново это проверяет,
если совпадает - то засчитывает шару, если шара нужной сложности - формирует
блок и отдает его биткойн-демону.
Частота "work" на блок вообще тут не при чем. Протокол позволяет дать майнеру
такое задание, которое он стопудово будет обсчитывать больше 10-20-30 минут.
То есть новое задание дается не тогда когда майнер полностью просчитал все
что ему дали и обращается за новой порцией, а либо если в сети найден новый блок,
либо просто по таймеру - раз в 30 секунд майнеру приходит новое задание.