What is often considered a very large flaw in the design of Bitcoin is that hypothetically, if a single entity contributed the majority of the network’s mining hashrate, they would have full control of the network and would be able to manipulate the public ledger (blockchain) at will.
It is an interesting concept because it is theoretically possible; the network is free and open, so if someone were to have enough computational power (which would cost a huge amount by itself), there is no bitcoin authority to stop them from doing so. In the event that such an attack successfully takes place, it is likely confidence in the currency would be lost and it’s value as a currency would decline rapidly.
"Wait, they’d have complete control of the network? They could do anything?"
Not quite. There’s only a couple things someone with 51% of the network hashrate could do. They could prevent transactions of their choosing from gaining any confirmations, thus making them invalid, potentially preventing people from sending Bitcoins between addresses. They could also reverse transactions they send during the time they are in control (allowing double spend transactions), and they could potentially prevent other miners from finding any blocks for a short period of time. That’s really about it – enough power to cause some serious mayhem (as that’s all stuff that isn’t supposed to be able to happen) but nothing that would seriously cripple the network – at least not immediately. They couldn’t reverse transactions from long ago, create new coins out of thin air (besides through regular mining), or steal coins from other people’s wallets.
In reality a 51% attack is feasible – especially with the rise of mining pools (groups of people mining together as a single unit). However the potential damage one could cause is small – though enough that it cause a panic that would seriously threaten bitcoin’s use as an online currency. At current network mining difficulty levels, not even large-scale governments could easily mount a 51% attack.