Таргет
Таргет — это 256-битное число, задающее верхнюю границу для хеша блока. Чтобы блок был принят сетью, его хеш должен быть численно меньше или равен текущему таргету.
Как работает таргет
Заголовок раздела «Как работает таргет»Хеш-функция SHA-256 выдаёт 256-битное число. Теоретически результат может быть любым из огромного количества значений — от нуля до 2^256 - 1. Таргет определяет, какая доля этого пространства считается «выигрышной». Чем меньше таргет, тем меньше подходящих хешей и тем труднее найти валидный блок.
Представьте число от 1 до миллиона. Кто-то говорит вам: «Угадай число меньше 500 000» — это относительно просто, подходит половина всех вариантов. Но если порог снижается до «меньше 100» — задача резко усложняется. Таргет работает по тому же принципу, только пространство значений несоизмеримо больше.
Таргет и сложность — это две стороны одной медали. Сложность — это удобная для человека величина, показывающая, во сколько раз текущий таргет меньше начального (максимально лёгкого) таргета. Формула пересчёта проста: сложность = начальный таргет / текущий таргет. Когда сложность растёт, таргет уменьшается, и наоборот.
В заголовке блока таргет хранится не напрямую, а в компактном 4-байтном представлении, называемом «bits» (или nBits). Это поле кодирует таргет в формате с плавающей мантиссой, позволяя уместить огромное 256-битное число в компактную запись.
Практический пример
Заголовок раздела «Практический пример»Пул отправляет майнеру задание с определённым таргетом. Майнер хеширует заголовок блока с разными значениями nonce и сравнивает каждый полученный хеш с таргетом. Если хеш оказывается численно меньше таргета пула (более мягкого, чем сетевой), результат засчитывается как шара. Если хеш оказывается ниже сетевого таргета — это валидный блок, который будет принят всей сетью Bitcoin.