You are correct [I did not catch this, as I have had my head in my code, working it around with my own logic]. I guess I reinvented the wheel for porting this class [uint512], but also, saw other locations it needed implementation [that other coins failed to address].
1. CBigNum class: needed extra implementation to work with [uint512]
2. CBlockHeader class: to store hashblock/hashprevblock as [uint512], not [uint256] to make actual use of a 512 bit hash
Good catch, that's a useful observation.
With other coins that use 512 bit hashing, you'll notice in their Hash template, it is always returned as [uint256] from the examples I have seen. This in my logic, makes use of 512 bit hashing superfluous [if only 256 bits can be stored].
Hahaha. Thanks for drawing my attention to this. I think you're absolutely spot-on about the superfluity of 512 bits in respect of enhanced security, how hilarious.
There's a teensy bit of wriggle room available to whoever was the first to use a 512bit implementation for altcoin PoW ...
IIRC, a few of the SHA3-Zoo denizens claim better performance of their 512-bit implementation over their 256-bit implementation. It's quite possible that all of the NIST candidates were anticipating a general move to 512 (especially if primed to do so by NIST, I'll have to check on that) and directed their optimization efforts accordingly.
Your observation attests to your familiarity with working in a strongly-typed language. I must admit that I had registered the discrepancy but failed to draw the obvious conclusion. Instead, I recall thinking to myself: “Nah, that'd be too big a hole for everyone to miss. Must have the wrong end of the stick.” Had I more familiarity with the practicalities of programming in strongly-typed languages, I might saved myself from that error.
Ah well, I shall just have to junk my hyper-secure, extra-strength, extreme hard-core Skein 1024-bit implementation and return to the drafting table
Not a wasted effort though, it allows me to appreciate fully the implications of your observation. I gotta find out whether there's unimpeachable support for this obvious conclusion or whether there's some subtle haha-its-crypto gotcha that muddies what's otherwise an apparently clear view.
Cheers,
Graham