Let's say my DApp requires a seamless way to transfer USD between users, given that some contract requirements are fulfilled first. Person A transfers USD to person B, the latter only gets a deposit once a condition is satisfied. I will assume some time has passed between the time the transaction initiated and the time the money is deposited into the receiver's account. All the while this is done with Ethereum Network under the hood. So, users don't know they are technically using the Blockchain.
The question is: When the money is sent to the Smart Contract, is it at all possible to retain the original USD value? If not, how would you deal with this type of problem?
If the application is responsible to ensure the money transferred is the same, there is risk. In particular, when the price of ETH goes down relative to USD, the developer will inevitably pay the difference. This solution isn't good.
Any ideas on how to deal with this scenario?