So I am going to "forget" my Best Grade A Company On The Chain corp because I am considering dabbling in the nanobit-stocks market by picking up a few of your newly made up no-body-shares?
Color definitions are not exclusive, they can overlap.
Let's say you have 100 black coins. Then you want to buy 1 red coin. But 1 red coin was made out of 1 black coin for some reason.
That is not a problem. If you import red definition and and buy a red coin, your client will tell you that you have 100 black coins and 1 red coin.
The thing is, red color definition affects only coins which were issued through it, and so your black coins will be unaffected.
If red company goes bankrupt, you can erase red definition and then your client will show that you own 101 black coins. Yay!
Perhaps client software should issue a warning when colors overlap, and especially when it affects coins you already own.
If you find some color definition suspicious just don't import it and it will be fine.
All you are doing is forcing people to throw away estsblished, valuable shares
The whole point is NOT forcing anybody to do anything. Coloring is essentially a convention, it is very flexible.
Otherwise someonje is going to trade their birthright for a mess of pottage, as the swaying goes, by not understanding the value of the coloured coin they are about to trash to create a worthless pretend stock to see how your system works, and stuff like that. (n short, they will find out the hard way it does not work...)
Well, client software definitely should protect users from preventable errors. It will choose only uncolored coins whenever you want to issue something.
A special address format will prevent users from sending coins of a wrong color. For example, you want to buy something for 100 "USD coins".
You should first select "USD coins" in currency list, and then you'll enter address merchant have given to you. This address will include information that "USD coins" are requested. Client software will allow you to create transaction only if color definitions match. Otherwise you need to find what's going wrong: perhaps merchant made an error, or he wants a different kind of coins...
You seem to be basically using taint, not colour. Taint anyone can claim yeah that output there, that is stolen coins!
Difference between color and taint is that taint is contagious, while color isn't.
Colour should be something in the blockchain itself that announces the genesis of a new colour.
It makes absolutely no difference in examples above: even if color is written into blockchain, colors still can overlap, i.e. somebody will recolor some black coins into red coins or something.
It will work exactly the same as with color definitions, but with color definitions you are free to undo that recoloring if you want.
I don't think taint that follows the colour algorithms as to what/how it taints is at all the same thing as an actual colour.
We have considered embedding color meta-information into blockchain.
But it appears that certain protections can be implemented on client-software leel without changing in-blockchain format, and those protections are in fact necessary in any case. So meta-information in blockchain offers very few advantages.
Still, it's not something completely ruled out. For example, tagging with OP_DROP messages might be used... when this txn script will be approved. But it's hard to find benefits.
If anything, tagging in blockchain might make mess with overlapping colors worse because
1. you'll be automatically subscribed to all kinds of bullshit coin issues
2. color tag might be erroneous, then what?
3. you cannot 'undo' color definition
Anyway, the difference between these approaches will be visible only in some obscure corner cases. As long as people simply use client software and do not try to circumvent built-in protection which doesn't allow user to shot himself in the foot they'll be ok.