There are many network level attacks that give someone Man in the Middle ability to replace my Bitcoin address with their own.
Since there is no way to cancel a transaction, and the best practice is to generate a unique address per sender...
- How can I assure my consumers they are actually paying the correct person?
I want to avoid the situation where a sender actually sent payment to a spoofer (which can't be canceled), and still have a dynamic address that people can send money to based on the sender.
A similar question is here, but it doesn't focus on the safety and security of communicating the address from the (anonymous) merchant to the (anonymous) recipient.