At that point it becomes interesting in crypto: who owns the accidental deposits?
As with all things in CryptoCurrency... the person in control of the private keys controls the coins...
On a technical level you're right, but I was thinking on a legal level.
Of course, if you accidentally send your coins to a random address with unknown owner, there's nothing you can do. But in this case it's sent to an exchange, and the owner is known.
The real discussion is more about morals and ethics, ie. "Is the shopowner morally/ethically obligated to return the money?"
I'd say he is. But I'll be the first to admit I'd be annoyed if people start sending random amounts to one of my addresses, and then expect me to fork those addresses to recover their funds!
Also, should the shop keeper be compensated for their time/effort for someone else's mistake?
That sounds reasonable.
Bittrex charges 0.1
BTC fee, and only recovers it if the initial amount is worth more than $5k. My guess is they assume anything under $5k isn't worth sueing them over, so they don't care.
Furthermore, what about if we're talking about a large exchange and the process to "reclaim" the misplaced coins by extracting private keys could potentially expose private keys/wallets that could lead to the loss of millions of coins which are "other peoples money"?
Now we're back on a technical level
I've made the suggestion before to give customers the option to retire the addresses they've used on the exchange. This can be an automated process, the customer pays the exchange $50, the exchange has 1 week to empty all normal funds from the addresses, and after that the customer receives the private key.
This could be a relatively easy and cheap way to recover your funds.
CryptoCurrency involves a LOT of responsibility... people often neglect that part of the "Be your own bank" catchphrase...
The fact that there is no "undo"-button is a feature, not a bug