About one month ago, I wrote a little paper
http://www.newbitcoin.org/documents/newbitcoin.pdfin which I stated that Bitcoins are not truly decentralized and that developers should refrain from hard coding correct block hashes in a reference implementation.
At that time I didnt fully realize the implications of what Ben Laurie now stated more formally. So the rest of the paper is an attempt to establish an improved decentralized currency, based on a block-chain created by 50% or more cpu-power.
Meanwhile I have come to the conclusion that it can be easily proved that as soon as bitcoins would become truly valuable, it would be lucrative to fraud the system by gaining more than 50% of that cpu-power.
1) Gain 50%+ of the computing power.
2) Generate transactions favouring you and have them included into the block chain.
3) In the mean-time, with your 50%+ power, start creating a forked chain, with your coins double-spended in different transactions.
4) Publish the fork when your original transactions are accepted and collect the benefits of your new transactions.
At the moment each block generates 50 new bitcoins, and it would take a huge investment already to gain 50%+ of the cpu-power involved.
In the long run however, blocks will only be rewarded with transaction fees and (a market equilibrium will form where) the cost of producing the hashing power needed to find a block will be equivalent to the total of transaction fees in that block.
Assuming transaction fees are much lower than the value of transactions in a block, the cost of forking a block are then much lower than the rewards of the double-spended coins.