In order to perform a 51% attack someone has to concentrate huge amounts of computing power. Obviously this would be very expensive. But in return the attacker obtains the block reward and mining fees for every block mined during the attack window. Supposed mining is profitable, shouldn't this revenue compensate for the expenses?
- They only get that profit as long as they operate their 51% fairly by the rules. Which is still kind of okay for bitcoin. As soon as they start playing tricks, they risk losing more and more blocks as orphaned. For example to double spend they need to precalculate a block but keep it secret. For the time that it's secret they run the risk that someone else will find another block instead.
- Remember to get 51% of tomorrows network, the new player would have to more than double todays network speed (and keep up with the growth). So that means buying 102% of the current network speed.
- Doing that halves the profits for everyone, including themselves. So even if mining is profitable for people now, the crooks will have to factor in a halving of the profits as well.