Here’s a proposal on how subassets may be implemented. This is just a first draft. I’m sure there are better ways, just want to start the debate.
- Let’s define ASSET as an alphabetic asset issued with the current naming rules,e.g. MYASSET.
- Let’s define SUBASSET as an asset with name on format [ASSET NAME]-[EXTENSION], e.g. MYASSET-ONE.
- To issue a SUBASSET you must be the current owner of [ASSET NAME], e.g. only the owner of MYASSET can issue MYASSET-ONE.
- There is no XCP fee for issuing a SUBASSET.
- The max name length for a SUBASSET is 20 characters.
- The [EXTENSION] can exists of characters [A-Z] and be min 1 character long.
A SUBASSET is independent from its parent ASSET in every way except it shares the first part of the name and originates from the same owner. This is therefore a naming rule only.
Examples of valid names of length 20:
Consequently the owner of BBBCCCDDDEEE can make extensions of max 7 characters while the owner of BBBC can make extensions of up to 15 characters.
Advantages of introducing subassets:
- Easier to know the owner, e.g. BOBSCOINS can issue BOBSCOINS-GLDEAGLE, BOBSCOINS-SLVEAGLE, BOBSCOINS-GLDPANDA, etc and everyone will, by just looking at the names, know that these originate from him.
- Issuer can have a predictable name policy, e.g. a bookmaker will describe a bet through the subasset name
- Cleaner namespace
- Free subasset registration good in case the XCP price increases and the community cannot reach consensus on reducing the 0.5 XCP asset fee
- Squatting of asset name will likely be reduced
- More flexibility in use of asset names may open new user cases, e.g. alias for bitcoin address
- A bit confusing to new users?
- Software must upgrade to accommodate for rule change
- Squatters of not-that-good asset names may see their assets lose value (and prime asset owners will gain since they may issue and sell subassets)
EDIT: Another great advantage of subassets is when an issuer in the future will issue assets with descriptive names. With the current system squatters can take up these names, but with subassets this would not be possible. An example of such a naming policy, copied from another thread:
The full asset name will be CBAxxxDEFyyy, CBAxxxCOVyyy, or CBAzzzxxxyyy. CBA stands for CryptoBets Season A. xxx and yyy are three letter team names. DEF means “defeats straight up.” COV means “covers the spread against.” And zzz is either OVR or UNR, which means the token is a bet on the total score.
EDIT 2: Set max length to 20. Subassets and numeric assets will have the same max length.
EDIT 3: Join [ASSET NAME] and [EXTENSION] with a dash ("-"). A dash makes it clearer that this is a name.