Use Case with Terminus Name
While DIDs solve the issue of identity in a decentralized network, they are typically difficult for humans to remember or use in daily situations. Terminus Name provides a familiar, easy-to-remember format similar to email addresses, while still leveraging the power and security of DIDs. Each Terminus Name is bound to a DID.
Potential fairness issues
The first-come, first-served system in Terminus Name registration may present some fairness issues, such as:
- Fraud: For instance, the Terminus Name
elonmusk@myterminus.com
might be registered by someone who isn't actually Elon Mask. - Speculation: Pre-registration of popular names could lead to speculation, potentially boosting early network activity, but at the cost of fairness.
VC process for Terminus Name
To address the potential faireness concerns, we adopted principles from Self-Sovereign Identity (SSI) services proposed by the Web5 team, along with the VC process of Snowinning Protocol. This led us to design an Issuer and Verifier process to assist users in applying for a Terminus Name.
Gmail issuer service
We utilize Google's OAuth process to facilitate the issuance of Verifiable Credentials (VCs). The simplified process is as follows:
- Alice logs into her Gmail account via OAuth in TermiPass, the wallet client.
- Google returns the OAuth credentials to TermiPass.
- TermiPass submits the OAuth credentials to the Issuer.
- The Issuer confirms the validity of the credentials with Google's servers and retrieves basic information (e.g., email name).
- The Issuer issues a VC to Alice that matches the local part of her Gmail address.
Alice can now store the issued VC in TermiPass.
NOTE
- Throughout the process, Alice only reveals basic account data within the scope of the credential authorization to TermiPass and the Issuer service, with password and privacy protection ensured by Google's OAuth protocol.
- All the code for setting up a Gmail Issuer Service or other Web2 service Issuer Services are open sourced on GitHub.
Terminus Name verifier service
Here's how the Verifier Service works on the Terminus end:
- Alice packages her DID, Terminus Name, and Gmail VC into a Verifiable Presentation (VP) and submits the VP with its signature to the Verifier Service.
- The Verifier Service checks:
- The signature's validity.
- The validity of the VC in the VP.
- Whether the Terminus Name can be registered on the blockchain (conflicts may arise if multiple channels, such as Gmail and Twitter, are used for VC information).
- After all checks pass, the Verifier Service submits Alice's information to the blockchain and covers the Gas fees.
At this point, Alice successfully obtains her Terminus Name. For example, if you apply with the Gmail address "hello@gmail.com", you'll receive the Terminus Name "hello@myterminus.com" once all checks are completed.