So even under the ridiculously unlikely assumption that computational power halves in cost every 18 months for the indefinite future: 50 years from now, the entire current global GDP still won't be enough to buy a processor that can crack a Bitcoin key in less than a decade.
(Of course, this is assuming there are no other unknown flaws in the protocol, and that no better algorithms are found to find discrete logarithms over elliptic curves. But if a vulnerability is found, it won't be thanks to Moore's law.)
[1] http://en.wikipedia.org/wiki/Discrete_logarithm_records#Elli...
As for ECDSA, it can only be broken by quantum computers, but still most balances are protected by sha256*ripemd160 hash, so they are safe in the face of sudden QC attack or a weakness in ECC. People will want to protect their wealth and thus will change the protocol for other algorithms.
But do you think it would actually be viable to make a protocol algorithm transition?
After all, with any currency the only value it has is the ability to later exchange the currency back to services or material goods.
Even if a currency is backed by gold like in old times there can only be faith in that gold will actually buy you goods in the future, too.
USD is valuable not only because people trust you'll always be able to buy things with USD, but also because the US. government collects USD-denominated tax. As long as the government continues to have the firepower to enforce the tax code, there will always be a demand for USD, irrespective of how confident people are in its viability.
The USD has had zero intrinsic value since the end of the gold standard. That's why, by definition, it is called a fiat currency.
The USD has value solely because it is demanded (and the biggest demander is the US government, via taxes) and because people believe it will remain demanded.
The USD, or any fiat currency, has no value beyond this "belief". And this is not inherently wrong. Most of the world economies run on fiat currencies. Even Bitcoin is, technically, fiat.
The definition of "fiat money" depends on who defines it, but in my eyes the most correct definition is "any money declared by a government to be legal tender". Fiat literally means "let it be done", as in a declaration. The U.S. dollar is fiat because the U.S. government says it is money, and it was fiat under the gold standard as well.
Even under the gold standard, U.S. dollars did not have "intrinsic value" the way I understand it, which is to say value that comes from the physical properties of the object in question. There is a very tiny intrinsic value because you can burn U.S. bank notes for heat and things like that, but nothing else - gold standard or not. Gold may have some intrinsic value because it can aid industrial processes and fill teeth and make jewelry, but that is probably far away from explaining gold's market price today.
Bitcoin, on the other hand, is not fiat, because no legal authority has declared that it shall be money.
By law, the USD used to be convertible to gold at a legally defined USD-per-ounces rate. This legal rate is what gave it intrinsic value. All economist will agree with this statement. Any literature about the USD explains clearly that "the USD transitioned from the gold standard to a fiat currency".
That's not entirely true. As long as it is the only legal tender in the US and taxes are paid in USD, it has intrinsic value.
"Fiat money, such as paper dollars, is money without intrinsic value: It would be worthless if it were not used as money." -- from Principles of Economics, Volume 1, http://books.google.com/books?id=oRgQ2goeFzwC&pg=PA659&q=fia...
I don't mean to be rude, but I am always surprised by discussions about money. They reveal that people have no idea what money is and what gives it value.