ОПРЕДЕЛЕНИЕ Целевого Хэша
Целевой хэш - это число, для которого заголовок хешированного блока должен быть меньше или равен для получения нового блока. Целевой хеш используется для определения сложности ввода и может быть скорректирован для обеспечения эффективной обработки блоков.
BREAKING DOWN Целевой хэш
Криптовалюты полагаются на использование блокчейнов, которые содержат истории транзакций и «хэшируются» или кодируются в виде серии цифр и букв. Хеширование включает в себя получение строки данных любой длины и прогон ее через алгоритм для получения вывода с фиксированной длиной. Выход всегда будет иметь одинаковую длину, независимо от того, насколько большой или маленький вход. Использование хеширования означает, что любой, кто имеет дело с блокчейном, должен помнить хеш, а не сам ввод. Каждый блок будет содержать хэш заголовка предыдущего блока.
Декодирование и кодирование блокчейна называется майнингом. Майнинг включает в себя использование компьютеров для запуска алгоритмов хеширования для обработки самого последнего блока, а информация, необходимая для майнинга, находится в заголовке блока. Сеть криптовалюты устанавливает целевое значение для этого хеша - целевой хеш - и майнеры пытаются определить, что это за значение, проверяя все возможные значения.
Заголовок блока содержит номер версии блока, временную метку, хеш, использованный в предыдущем блоке, хеш корня Merkle, одноразовый номер и целевой хеш. Блок генерируется путем взятия хэша содержимого блока, добавления случайной строки чисел (одноразового номера) и повторного хэширования блока. Если хеш соответствует требованию цели, то блок добавляется в цепочку блоков. Перебирая решения, чтобы догадаться, одноразовый номер называется доказательством работы, и майнер, который может найти значение, получает блок и получает оплату в криптовалюте.
Целевым хешем для биткойнов является 256-битное число, которое можно найти в заголовке блока. Для майнинга блока требуется, чтобы майнер выдал значение (одноразовый номер), которое после хэширования меньше или равно значению, используемому в самом последнем блоке, принятом сетью Биткойн. Это число находится в диапазоне от 0 до (самый маленький параметр) и до 256 бит (самый большой вариант), но вряд ли когда-либо будет максимальным числом. Поскольку целевым хешем может быть огромное число, майнеру, возможно, придется проверить большое количество значений, прежде чем он добьется успеха. Неудачному майнеру приходится ждать следующего блока, что приводит к тому, что майнеры сравнивают поиск хеш-решения с выигрышем в гонке или лотерее.
Целевой хэш корректируется периодически. Хеш-функции, используемые для генерации новой цели, имеют специальные свойства, предназначенные для обеспечения безопасности блокчейна (и криптовалюты). Он является детерминированным, что означает, что он будет давать один и тот же результат каждый раз, когда используется один и тот же вход. Это достаточно быстро, чтобы не возвращать хеш для ввода. Это также делает определение ввода очень трудным, особенно для больших чисел, и вносит небольшие изменения во входной результат в совершенно другом хэш-выходе.