You are misunderstanding the attack. At 50+% of the hashing power, you are guaranteed to win a race against the honest block producers. The attack is a double spend: you spend a coin C to pay ADDR_A while mining a private chain that spends the coin C to pay ADDR_B (you can, of course, be ADDR_B).
One ADDR_A accepts your payment, you post your private chain publicly.
You coin C cannot be spent to ADDR_A and ADDR_B, so the chain must choose which one is it. Because you have 50%+ of the hashing power, your private chain necessarily has more work (generally simplified to "is longer") than the public chain.
You've now successfully double spent.
In fact: you don't even need 50+% to attempt the attack. I did some math recently I believe something like 40% gets you 75% chance of successfully executing the attack over a 10-block-period. The Bitcoin paper has the exact algorithm to calculate this, it is a random walk.
One ADDR_A accepts your payment, you post your private chain publicly. You coin C cannot be spent to ADDR_A and ADDR_B, so the chain must choose which one is it. Because you have 50%+ of the hashing power, your private chain necessarily has more work (generally simplified to "is longer") than the public chain.
You've now successfully double spent.
In fact: you don't even need 50+% to attempt the attack. I did some math recently I believe something like 40% gets you 75% chance of successfully executing the attack over a 10-block-period. The Bitcoin paper has the exact algorithm to calculate this, it is a random walk.