Trading virtual "items", prevent duping in an offline scenario

There is a thing that I’ve been pondering a long time - how to prevent duping in the trading of virtual items. I mean, how to prevent that someone in the possession of a virtual item can multiply it, and sell the copies.

To make it worse, the scenario which I had in mind puts the item data into the users hands - he’s got a file, representing the item, so basically he can make as many copies as he wants … and the trading system must make sure he can only sell one of those copies, and the others will be rejected.

A while I thought it is impossible to prevent duping in sucha scenario. But now I see those virtual currencies like Bitcoins, and there is no way to dupe coins as it seems. This gives hope that there are measures to prevent duping of other “items”, even if the owner has access to the data.

Is it doable? If yes, then how?