IOHK just released a doc on multi-currency support on Cardano going into relative detail (with a few things here and there skimmed over) about how it will work. They cover both fungible and non-fungible tokens, and introduce a novel concept into the fray with having a 2 currency model (main currency and a reserve currency) which solves some technical problems they were facing.
As stated in the proposal:
We can think of
cas paper notes and
c*as a gold bar that we keep in our vault. Every unit of
cis a claim to some of our gold bar. We can trade this claim away but we always keep the gold (although now the amount of gold that is available is smaller).
I’d recommend checking it out, though there’s a lot of Haskell & implementation details, so it may be a bit rough to get into. Nonetheless, very interesting.