Я спросил это в другом потоке, но полагал, что этот вопрос мог бы сделать со своим собственным.
Как гибки ASIC шахтеры? Например, если дополнительное поле было добавлено к заголовку они были бы в состоянии справиться с этим.
Текущий заголовок 80 байт, а затем одноразовое значение в том 2 блоке первого расчета ша. Это означает, что они почти наверняка не может справиться с перемещением на временное значение первого раунда.
ША требует поля длины 8 байт должны быть добавлено к данным. Кроме того, он требует 1, который будет добавлен. Это эффективно клипса 9 байт с полным.
В настоящее время, первый раунд составляет 64 байт, а затем второй раунд 16 байт (и одноразовый номер включен). Это оставляет 64 - 9 - 16 = 39 байт бесплатно в блоке 2.
Кто-нибудь есть технический паспорт для ASIC чипов. Может они установить весь 2-й блок к любому исходному значению, или это должно быть <12 байт><счетчик><39 нулей><0x80><Длина 8 байт (640)>?
Это не похоже на большое дело, чтобы сделать второй блок полностью гибким. Это устраняет некоторые оптимизации, которые могут быть получены путем установки последних 48 байт до нуля. Тем не менее, по своей сути ша шифрует все, так что это поможет только в течение первых нескольких раундов. Это небольшое уменьшение площади происходит за счет гибкости.
ША имеет 64 раундов и сдвигает внутренние 256 бит на 32 бита в каждом раунде. Это означает, что после 7 туров нули будут сдвинуты и заменены "случайный" данные. Это создает треугольник с основанием 8 и высота 7 и 28. Площади общей хэш представляет собой прямоугольник из базы 8 и высота 64 дают площадь 320. Таким образом, экономия при принятии входного негибким является 28/320 = 9%. Это не "ничего", Но это небольшая цена, чтобы иметь гибкость. Если есть больше, чем 9% вероятность того, что заголовок изменится, то это хорошая инвестиция.
Ofc, если СБИС является основным источником хеширования, то они могут блокировать изменение заголовка.