So how does C know that the transfer of 100 units originally came from A?
Tim
1

Oh, that is simple: What really happens are 3 separated processes. A exchanges B A-coins to B-coins. Then A takes the B-coins and exchanges them to C-coins. This both exchanges are automatically possible because A and B and B and C before that agreed to the 1:1 exchange rate. After this two exchanges A can pay C with C-Coins. For the user this can all be hidden and all A needs to know is that she can pay C.