Yes there could be a flaw in the SHA-256 algorithm that we don't know about. See my ramblings above...
A fairly well-known cryptosystem that got broken that comes to my mind is the Merkle-Hellman knapsack cryptosystem:
http://en.wikipedia.org/wiki/Merkle%E2%80%93Hellman_knapsack_cryptosystemIt was supposedly based on a "hard" problem, namely the knapsack packing problem, but it turned out that the sampling of random instances used for the knapsack crypto system does not yield an average-case hard problem (which is necessary for crypto).
That was just broken because it actually implemented an easier subset of the problem. Real provably secure methods are not breakable.
The thing is, none of the cryptographic primitives that Bitcoin uses (SHA-256, RIPEMD-160, ECDSA) have been proven secure.
Even MD5 was broken, and it was used for the SSL CA system for a while. So it's true that vulnerabilities can be found later. The thing is, Bitcoin uses more than one form of cryptography: SHA256, RIPEMD-160, and ECDSA.
Breaking SHA256 would be pretty monumental, but it wouldn't allow you to spend peoples' coins for them. To do that, you would need to break ECDSA, which is comparatively new.
It should be noted that the only way MD5 has been broken is that it's possible to construct two blocks of data that hash to the same value. Even if this attack was successfully applied for SHA256, it wouldn't affect Bitcoin. It would be a sign to find a new hash function, because it's a sign of weakness, but it's not a problem in itself.
I would just respond, "It's safe for less than whatever that amount of time is". If a vault can be cracked in a hundred thousand years, it's safe to store something in it for a few decades.
I don't believe the guy was talking about brute-forcing it, but finding a flaw in such algorithms. To me, he was implying that every cryptography algorithm has flaws, and it's just a matter of time before they are exploited.
I wanted to counter-argue on how unlikely it is to find such fatal flaws in any of the algorithms used in bitcoin.
Well, in order to prove that every cryptographic algorithm has flaws, he would need to find a flaw in every cryptographic algorithm. So please ask him to do so, or his claim is just an assumption.
Thanks!
But.. why always double-hashes?
To prevent length-extension attacks. These attacks are a known weakness in the current SHA hash functions, but the new SHA-3 hash function - to be announced soon - will have built-in measures to secure against this. The double-SHA-256 is sort of a workaround to this vulnerability.
What worries me is some freak could look through a list of hashes some day and his brain make a connection giving birth to a new field of mathematics, order always seems to come from chaos. If he's that smart he'll probably keep his mouth shut and make billions though
Actually, I think this might be the new way of breaking hash functions. And as far as I recall, this was exactly how MD5 was broken. The Chinese researcher
Wang Xiaoyun, who originally broke MD5, literally completely memorized the inner workings of the Merkle-Damgård construction that is the heart of MD5 - and SHA-1 and SHA-2 as well. She had a mental image of the states of the function through all its rounds, and used this to visually "figure out" which bits were important and which were not. It's not at all infeasible that this could be applied to SHA256.