5

If one of the cryptographic building blocks of Bitcoin were to be broken, couldn't that result in the entire block chain needing to be recomputed? And how would that work, given the computational expense involved?

  • Please define "broken" and "building blocks" The word "block" has a specific meaning in bitcoin. – Ben Apr 12 '13 at 15:07
  • 1
    I know it's on another stack exchange (and closed) but there is a solid explanation of how this scenario could be resolved at stackoverflow.com/questions/5605571/… – eMansipater Apr 12 '13 at 19:01
  • @Ben: I meant the crypto primitives, of course. By "broken" I mean any occurence where one of these primitives were proven not to be up to specs and would become unreliable, possibly making the whole block chain to that date unreliable. – George Apr 12 '13 at 19:11
  • 1
    Related: bitcoin.stackexchange.com/q/8702/153 – Stephen Gornick Apr 13 '13 at 5:04
4

If one of the cryptographic building blocks of Bitcoin were to be broken

This is a difficult question to answer because Bitcoin uses so many.

SHA256d

This is Bitcoin's main hashing algorithm. It uses it for proof-of-work, building merkle trees, and lots of other stuff.

Collision resistance

If broken, you could create two blocks that hashed to the same thing. This would be bad because you could give both out, and nodes would think that they agreed, but they were actually talking about different blocks.

Preimage resistance

If broken, you'd have essentially infinite hashpower, and you could do the previous attack on blocks that had already been mined.

Mining faster than brute force

Currently, the fastest known way to get a hash that starts with lots of zeros is to just run through that hash lots of times. However, if you could figure out at the start that certain ranges of nonces weren't going to result in a block, you'd have a significant advantage over ASIC miners, who wouldn't be able to change the way they mined.

HASH160

Collision resistance

Irrelevant.

Preimage resistance

If broken, you could steal bitcoins.

ECDSA

If broken, you could steal bitcoins.

Final remarks

It's unlikely that every crypto primitive that bitcoin relies on would be broken. If they were, there are usually better primitives that could replace them.

  • So if SHA-256 was broken in some significant way and needed replacement, wouldn’t that involve recomputing the entire block chain with a different hash function? And if so, would that be feasible or would the whole system collapse? – George Apr 12 '13 at 18:32
  • 3
    @George Actually, you could use the existing checkpoint system, but use a different hash, like SHA3. You'd want to switch to SHA3 for the new blocks though, which would require a mutually-exclusive hard fork. – Nick ODell Apr 12 '13 at 18:38
  • Considering the NSA uses SHA256 hashes in their suite B protocols, I doubt that one could deduce nonce results. – Charles Hoskinson Apr 18 '13 at 7:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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