It’s important to set all parameters right. Once released, it is difficult to change them, and I wonder:
What is the optimum max length?
Which characters should be allowed?
How much should the issuance fee be?
Should a child asset be allowed to issue its own child asset?
-1. It should be possible to display an asset name on one line on a mobile device. It should also be easy to memorize a name and differentiate an asset from any other asset. Otherwise the important uniqueness property is violated. I think the sweetspot for max length is somewhere around 30-40 characters.
-2…For the reasons mentioned above, I vote for [A-Z0-9.-]. A dot must follow immediately after the issuing asset’s name and must be followed by [A-Z0-9], i.e. not another dot or a hyphen. A hyphen cannot be next to another hyphen or a dot.
-3. Is a fee necessary? Unlike for regular assets, a subasset namespace is not a public resource (no first come, first served - the asset owner has the sole right to issue subassets). However, if a fee is needed to protect Counterparty servers from overloading, then an apt fee should be set for this.
-4. Currently I think it makes most sense if XXXX can issue XXXX.Y but only XXXX.Y can issue XXXX.Y.Z. Another option is that XXXX can issue both XXXX.Y and XXXX.Y.Z while XXXX.Y cannot issue any subassets. However, I am eager to hear arguments for and against. May change my mind on this.
@deweller - I do not code in python, so I will not be submitting an implementation for CIP 4. I believe @robby_dermody recently said that either himself or @rubensayshi would probably be writing the implementation in the coming months if no one else does.