А они все перебирают одно и то же.
Не одно и то же.
Процесс майнинга заключается в подборе хеша заголовка блока, удовлетворяющего текущей сложности.
В заголовке блока есть параметр Nonce, который инкрементируется от нуля и до упора, и для каждой итерации вычисляется хеш заголовка блока, если хеш удовлетворяет критерию сложности - перебор прекращается, блок найден.
Но помимо Nonce в заголовке блока есть ещё параметры, и часть из них отличается от пула к пулу.
К примеру, параметр
корень дерева Меркле - это хеш всех транзакций, содержащихся в блоке. Даже если в блоке нет пользовательских транзакций, всё равно всегда есть одна Coinbase-транзакция, которая формирует вознаграждение из ничего и отправляет его на адрес пула. Понятно, что адреса для получения вознаграждения у пулов разные, а значит и Coinbase-транзакции у разных пулов будет разные и, соответственно, корень дерева Меркле будет отличаться у разных пулов.