Почему цель обрезана?

Чтение документов на цель :

Максимальная цель, используемая устройствами для майнинга SHA256:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Поскольку биткойн хранит цель как тип с плавающей запятой , это усекается:

0x00000000FFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Я знаю, что цель состоит в том, чтобы заставить майнеров генерировать хэши со значением ниже целевого. Но документы расплывчаты, зачем требуется это усечение? И потом, зачем усекать после первых четырех F?

Ответы (1)

Цель хранится в заголовке блока (он называется битами) и занимает всего 4 байта. Мы получаем целевое 256-битное значение из этих 32 бит. Вот почему он усекается.

Нет необходимости хранить все 256 бит или даже 224 бита (если предположить, что первые 4 байта равны нулю). Нам не нужна такая точность.

Вы можете прочитать в вики , как цель рассчитывается из битов.

Вы также можете проверить мой ответ здесь, например: Как определяется сложность для блока «55798»?

Это было действительно ясно, спасибо! Просто чтобы убедиться, что установка конечных байтов 256-битной версии на ноль означает, что когда майнер находит хэш со значением, имеющим правильное количество нулей, но превышающим целевое значение, этот хэш недействителен?
@PaulRBerg верно, мы говорим о конечных нулях для простого объяснения. На самом деле мы сравниваем два 256-битных целых числа