If a nation can use another nations money that way, what stops all other nations to do it as well? It would be too much centralized in every single nation to be ruled by USA, sure venezuela is a small sample size and USA won't even care but if you for example make %50 of people in Europe to start using dollars instead of Euro, that would be a demise of all european union and all nations withing since USA would basically control them. So it doesn't look all that bothersome to people since its venezuela and they might actually take advantage of this situation yet I still think we should try to stop and eleminate this idea before it spreads to all other nations in trouble, that would make it very difficult to reverse.
Nothing apart from the government banning the use of foreign currency.
China bans use of anything other than yuan, and in addition imposes capital controls so people can't easily convert yuan to dollars and take the money out of the country.
Many other countries have capital controls too.
Places like the UK don't have any bans in place nor capital controls, so in theory a retailer is free to accept any currency they want - but Brits use their own currency as they have a deep attachment to it (as it has served them well for coming up to 1000 years).