Может дело не в SHA, а в эффективном поиске proof of work? Ведь перед тем, как вычислить SHA, алгоритм принимает решения какие данные в него передать.
Одним из этих данных является SHA от предыдущего блока. Его подогнать никак нельзя, все пиры же проверяют