I am in the process of designing a cryptographic Proof of Storage (PoS) that relies on single threaded computation of
SHA256 hashes. In practice, my algorithm is equivalent to computing for some string
S the value
SHA256^N(S) = SHA256(SHA256(SHA256(...(SHA256(S)))).
This forces anything computing that function to use only one thread, as each
SHA256 step needs the output of the previous as input.
Now, I know that ASIC miners exist that can compute
SHA256 hashes at an enormous rate. This, however, is due to their parallelism: completing Proofs of Work (i.e., finding zeros of hash functions) is an embarassingly parallel problem and can be computed very fast on massively parallel devices. This is not what I am looking for.
What I am looking for is the fastest device that would be able to compute my function, i.e., single-threaded computation of a
SHA256, then the
SHA256 of its output, the
SHA256 of the result and so on.
I thought that maybe in this case the best hardware would be the fastest CPU in terms of single threaded performance: I found here that
Intel Core i7-7700K could be a good place to start looking for.
Is there any other known specialized hardware device that could carry out the task faster?