But does zero confirmation system can overcome double spending?
You'll say it's not worth to do it for a cup of coffee, but what if I order coffee for all the office?
20-30 cups of coffee for 1-2$ of fee is almost for free.
Once you actually succeed to double spend a merchant that doesn't need a confirmation, do tell us the story.
It can't be achieved with a certain degree of difficulty. You need to 1st convince the merchant to accept your 0 conf payment, convince a miner to help you mine a replacement transaction. The first is easy, making a replacement transaction without the participation of a miner with a significant amount of hashrate is hard.
Great idea for the coffee part.
But merchants will require you to wait for a confirmation. Oh come on, how much time do they need to make 20-30 cups of coffee in the first place?
Necessity is the mother of invention
You would only need to give the bartender a fiat collateral for the amount of coffee you are going to buy (you can leave your gold wristwatch or iPhone), then pay with bitcoins. And while your whole office sits at a coffee break and enjoys your smartness and wisdom, your transaction gets successfully confirmed. Later you return and take back the fiat (or whatever you left). If the transaction doesn't get confirmed eventually, congrats, you have just paid with fiat for the coffee (all the better for your bitcoins). As simple as it gets