The DASH cryptocurrency uses X11, which is a Proof of Work hashing algorithm composed of 11 separate hash functions which are run as a sequence.

Example: $Digest = H_{11}...(H_3(H_2(H_1(Input))))$


1) Is this algorithm's collision resistance that of the weakest function in the sequence?

2) Can this algorithm tolerate a hashing collision found in one of the constituent parts and still produce output that is considered safe?


1) Just assume $H_1(x)$ is weak and you can generate two $x_1,x_2$ with the same hash. The other hashes then work on the same input, and hashes are deterministic, so the final output is the same. So on the first glance, it seems at best the collisions resistance is equal to the minimum of the functions. But it could also be worse. On the other hand, it depends on what kind of collisions you can create, because to find a collision for the original input would require finding preimages of the correct size in in the inner hashes.

A much better way would be to concatenate the previous hash with the message, and then hash that with the next one. That might give you the security properties of the strongest algorithm in the chain - but robust combiners also require careful consideration.

2) That depends if you consider all hashes secure. As stated above, that depends at worst on the security of the weakest hash: That is really bad, if you use a decent one and a broken one like SHA-1, then better just use the good one alone. Adding complexity can reduce security.

On a general note: Creating a crypto currency does not require knowledge of cryptography. Re-inventing the Caesar cipher (or modification in a tiny aspect) would also not make that secure in a modern sense.

That article does not even mention the correct security properties of hash functions (collision resistance, 1st and 2nd preimages resistance), the content doesn't have a single well-founded argument. So the seriousness is questionable.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.