>> (p.1)
    Author Topic: Potential vulnerability of hash function?  (Read 5851 times)
    slush (OP)
    Legendary
    *
    Offline Offline

    Activity: 1386
    Merit: 1097



    View Profile WWW
    November 20, 2010, 05:20:20 AM
     #1

    Hi,

    I discussed bitcoins with my friend today, he is something-like-mathematician. I told them that bitcoins are safe, because:

    * are built on widely used and not-yet-broken hashing function
    * when somebody find weakness of this hash function, it will be probably big problem also for other companies - banks, army etc.
    * if weakness will be found, it will not be only bitcoin specific. In this case, bitcoin software can switch it's hash function in nearest software version to something not yet broken before massive attack to bitcoin mining infrastructure

    I hope that are correct arguments, aren't they? He was almost ok with that, just with this comment, which don't let me sleep. Please correct me, if it is wrong in some point:

    Some new block of 50BTCs is valid, when hash itself fullfill some requirement, so we can crosscheck it's validity. Something h = f(x) where f is hashing function, x is salt we use for validity check and h is hash itself. But we do not looking forward some specific 'h', just kind of 'h' which fullfill defined requirements. So breaking this is much more easier than breaking whole hashing function in terms 'give me _specific_ "h" and I will give you salt "x" which matches h=f(x)" as is valid for already broken MD5, for example. There are plenty of valid 'h' hashes, so we are not forced to full break of hashing function!

    This vulnerability is just teoretical - we both don't say that we know how to break hashing function in this way! I just noticed that breaking hashing function for purposes of generating bitcoins is many-degree easier and does not mean that attack can be publicly used for breaking of general encryption. So teoretically there can be attack which can be used on bitcoin mining, but will not be in public interest, because common usage of hashing function will still be valid.

    Am I correct or I missed something big in my ideas? Unfortunately I didn't find any detailed bitcoin algorithm or protocol description and I found source codes too much obscure to find these details directly here.

    Thanks,
    Marek

Page 1
Viewing Page: 1