Several interfaces have been developed to create new tokens. Interfaces aim at having a standard that is understandable by anyone.
In Ethereum based tokens, a major interface is the ERC 20. But ERC 20 suffers from not identifying the owners of tokens.
Actually, investors need to be identified for legal reasons. It is the KYC norm (know your customer). Basically, KYC mandate to prove the veracity of the customer’s existence by submitting the Proof of Identity and Proof of Address.
This one of the reasons that push the development of new standards:
- ERC 721 brings non-fungible tokens allowing funny things such as CryptoKitties,
- ERC 777 has a user data field for KYC purpose,
- ERC 725 and 735 creates a smart contract for each user’s identify (725) and manage it (735),
- and others…
Image taken from the documentation.
It works generally with these simple steps: 1) the application requiring data about a user makes a query to a service. 2) A QR-code is presented to the user. 3) If the user scans the code from his/her smartphone, the service delivers the information to the application.
My first guess would be to build an ERC20 token, but accepting only recognized and validated users with a validation step done with uPort for example.