I did not make tokens representing ALL my DeVCoins, largely BECAUSE that would eventually lead to problems/awkwardness with cold storage.
What I always tried to do right from the start of the Digitalis Open Transactions Server was to "logically divide" custody/storage from the bailing-in / bailing-out process.
So that it can be thought of and treated as two separate things.
First there is the storage/custody entity, it issues tokens representing coins that it has stored away.
Secondly there are bailing-in / bailing-out entitities, they buy and sell those tokens.
That is basically how e-gold was set up: you did not send in gold nor get sent gold by e-gold.
There were intermediaries, supposedly they could ship kilograms of gold to e-gold and get kilograms of gold shipped to them, but actually in e-gold's case the gold itself was not really the point, the layer of intermediaries ordinary folks worked with were ones that sold e-gold (tokens, basically) for fiat and bought e-gold for fiat.
In our case those would be intermediaries that buy dDVC (digiDeVCoins, tokens) for actual on-blockchain DVC and sell dDVC for actual on-blockchain DeVCoins.
Normally in Stellar and Ripple and such, they make a website that actually creates new tokens when it thinks has received actual on-blockchain coins, and accepts tokens, basically deleting them, to send out on-blockchain coins.
That means it works with hot wallets, and issues tokens that represent coins it thinks it received into a hot wallet.
I never wanted to have to get that risky.
So I took only half of the coins I had on hand to issue tokens for.
That way the other half of my coins is left free for use by the bailing-in / bailing-out type of entity; it uses those coins, not the ones cold-stored somewhere to be represented as tokens, to do the cashing-in / cashing-out job.
This means you cannot simply send me a billion on-blockchain DeVCoins in return for a billion dDVC tokens unless I actually already have on hand a billion such tokens, meaning that I already have a billion actual DeVCoins in cold storage.
That is a limitation of my approach. Before I can be ready to give you tokens for actual coins, I have to already have that many coins, and have represented them with tokens. *
So there is a kind of "transaction bandwidth" limitation imposed by this way of doing things; it is a trade-off that allows the tokens we are trading to be representing older coins, coins that are already in storage; it allows us to take a long long time about making sure we really do have the coins, that it is way way too late for anyone to try to change blockchain history to un-do the fact that we really do have those coins. **
It also "ties up" coins. Once we tokenise coins, they are not about to show up for sale anywhere until we shut down operations thus no longer need any tokens representing those coins.
So basically I should never need to break coins out of cold storage to cash your tokens back to on-blockchain coins.
It is a kind of 200%-reserve system. I should be able to cash out all the tokens using the other half of my coins.
The coins represented by the tokens should be able to be buried in the Fortress of Solitude "forever", no need to dig them up.
You can see on the blockchain explorer that I have something over 500 million DeVCoins in my Devtome-listed address.
There should be less than 250 million dDVC tokens issued so far in total across all platforms. I am pretty sure that is the case.
To help keep track I plan to get the totals to be on the HORIZON platform by putting into a "Stellar Holdings" account on HORIZON tokens representing coins issued onto the Stellar platform so that I can just look at that Stellar Holdings account on HORIZON to know how many of what has been issued onto the Stellar platform. Right now for some things I have to look at both HORIZON and STELLAR issuances to add up how much of each thing I have issued, consolidating it this way will mean I can know how much of each was issued just by looking at HORIZON, with the Stellar Holdings account on HORIZON showing me how much was issued onto the Stellar platform.
Just like how you could buy e-gold from various dealers and sell your e-gold for fiat to various dealers, there is room in this system for third party dealers to do the bailing-in / bailing-out function of selling you tokens for coins and accepting coins for tokens. Hopefully some of them will even set up automated websites to do that. Such websites would of course only sell you tokens they actually have on hand, just like they would only send you fiat that they actually have on hand if buying with fiat.
* : Hence no KED tokens yet. I first need to acquire some KED so I can issue tokens representing half of those that I acquire.
** : This is particularly important for coins that are Proof-of-Work yet have hardly any hashpower actually mining them from time to time. It is what allows us to trade coins whose blockchains are not what one might call "extremely secure".
-MarkM-