Why over 3000 SHA256 hashes were used, I'll never know. What's the URL for Slack?
Yeah, I'm sure mr.spread's mining algo can be optimized.
The reason we use a little SHA256 in our algo is because the miner has to provide a hashWholeBlock value (to prove he himself had first knowledge about the block content, called POK "Proof Of Knowledge" in the sourcecode),
which ofcourse is derived thru a common double SHA256, and which has to be recalculated whenever ANYTHING in the block changes (timestamp, nonce (but only every 64 nonces), txs, etc...)
It's explained in mr. spread's whitepaper :
http://www.spreadcoin.info/downloads/SpreadCoin-WhitePaper.pdf(which admittedly is a little bit cryptic and not using the "clearest" english... I'm working on a more readable whitepaper version when servicenodes have progressed a little bit)
No, I know that. What I don't know is why you need 3000 goddamned iterations.
I'm not sure about that either.
Mr. Spread uses the hashPrevBlock (which is known and stays the same while we hash) to fill up the
padding he's using to construct a complete MAX SIZE block which is then run thru doubleSHA256 to create the hashWholeBlock value.
So you probably assume that it would be enough if we derived the hashWholeBlock
just once after a miner has found a solution (since hashWholeBlock is not part of the actual POW).
But I'm not sure if we are not missing something important here.
I wouldn't mind if a mining specialist like you takes a close look at it.
