1
Let's imagine I am hosting an online shop. I sell five different items with a price of 1 BTC.
Bob buys item A and Alice buys items B. Bob is paying the bill by sending 1 BTC to my Bitcoin address. Alice decides not to pay anything.
Now here is the big question: How do I know that I have received the money from Bob and not from Alice (I don't know their wallet)? Is there some kind of optional order reference / comment field in a transaction?
Address reuse is bad in general anyway. Don't ruin your customers' privacy. – Jannes – 2015-10-25T22:04:00.513
Or rather, when payment arrives on the address you gave to Bob, you know that Bob's bill was paid. You don't know (and shouldn't care) whether it was Bob himself who paid. – Pieter Wuille – 2017-09-23T16:05:11.863
Yes, that is an important distinction. All we care is which invoice/bill is paid, not which individual made the payment. – m1xolyd1an – 2017-09-23T18:35:24.523