It sounds like you’re trying to create an alternative currency that functions just like Safecoin on the SAFE Network. From my understanding, this might not possible. Here’s why…
SAFE Network Enforcement
- The SAFE Network is bootstrapped with “pre-knowledge” of Safecoin.
- AFAIK the SAFE Network only enforces type_tag Safecoin to prevent counterfeiting.
- So if a user claims, they own 1 Billion “unowned” SC, the Network checks that claim against it’s own “pre-knowledge” and rejects the claim.
APP Enforcement
You can create structured data (your own alternative currency) but the SAFE Network is not “trained” to enforce it, which why your APP has to prevent counterfeiting. This means the APP must keep a record of what is “owned” and therefore not discrete… it’s basically a public shared ledger. As you mentioned, there are problems with APP enforcement, but it’s doable.
Off-Topic
I’m brainstorming an idea for alternative currency creation, using a conversion feature.
This is not meant for the SAFE Network because it has a coin cap.
This idea is best suited for a Network without a coin cap. The idea is to create 3 levels for the Network’s currency system.
- network_type_tag = “Network’s Name”
- token_type_tag = “Safecoin”
- owner_type_tag = “Owner’s Name”
Point #1
This top level tag identifies the Network’s currency. In this example it would be called “SAFE”. This currency can only be created through farming. See my post on bootstrapping solution showing how currency comes into existence. This solves the counterfeit problem by using Network generation as enforcement.
Point #2
All farmed tokens will be labeled as “Safecoin” as a secondary identifier. Once a Safecoin token as been created. The label “Safecoin” can be renamed through conversion. So if someone wants to create 1 million STAR coins, they must have 1 million Safecoin tokens. Then they can convert Safecoin ~> STAR which renames the token_type_tag. This condition creates a beautiful synergy between farming and alt coin creation.
Point #3
We use a 3rd identifier which holds the previous and current owner. This works just like our current design plan, so nothing has changed. Ownership is kept discrete, and the Network is able to enforce all transactions without APP enforcement.
I haven’t thought of everything yet. There is one issue about other people increasing your alt token supply by converting their own Safecoin to STAR coins. I’m still working on a solution to solve “unique conversion”. This means only 1 person can create a quantity of unique alt tokens. My first guess would be to add an author_type_tag which prevents others from copying your tokens.
brainstorm continuation…
Point # 4 - Unique Conversion
We would need to make token_type_tag a “first come first serve” basis. This means there must be a Network Record to reference during conversion. So if @fergish was the first to convert Safecoin to STAR, then @dyamanaka conversion will fail, saying “that name is already taken!”
It will be easier for everyone to have only 1 author per converted token name. I just realized that prevents others from copying your tokens, haha!
At the same time, the original author can add more converted tokens to their supply, if they wish. Or they can set an address range (serial numbers) for each coin to “limit” supply, preventing additional creation. See @happybeing post below.
It would also be nice to see a public network list of converted token names, so you can see what is already taken.