|
May 14, 2013, 10:39:04 AM |
|
Instead of the double hashing that Bitcoin currently uses, i.e. sha256(sha256(x)), I would have preferred a nested double hash, i.e. sha256(sha256(x)+x) where '+' means binary concatenation. For one, this avoids entropy reduction. Which normal double hashing does not - the 1st way can (and most likely will) have less effective entropy than the 2nd.
Or ever better, the recursive hashing depth could increase with every N blocks. So after a specific (considerably large) number of blocks, the hashing method would become: sha256(sha256(sha256(x)+x)+x), etc.
Anyway, even with the current simplistic double hashing, if sha256 ever gets broken (not to be expected in the forseeable future), Bitcoin is still safe for a *long* time and we have plenty of opportunity to switch to sha512 or sha3 (keccak).
|