Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP: Global Identity Tokens - ERC Proposal #2204

Closed
edsonayllon opened this issue Jul 21, 2019 · 9 comments
Closed

EIP: Global Identity Tokens - ERC Proposal #2204

edsonayllon opened this issue Jul 21, 2019 · 9 comments

Comments

@edsonayllon
Copy link
Contributor

edsonayllon commented Jul 21, 2019

Simple Summary

A standard for optional global usernames to be queried by decentralized applications.

Abstract

Usernames will be set as tokens, limited from a range of 4 characters to 15 characters. Once a username is acquired by an account, that username cannot be acquired by another account, unless bought by or transferred from the owning account. Each account may only hold one Global Identity Token (GIT) representing their username on Ethereum.

As to keep certain accounts anonymous, a GIT will be optional, in order to comply with privacy needs of users.

GITs represent identification to an Ethereum account, by which a decentralized application can query for user identification, so as to replace an email.

The creation method of tokens may be up to discussion. However, it must be automated, yet accommodate competitive desire for any specific username. An auction style similar to .eth domain name acquisition may be considered, where individuals may bet on a particular username if in high demand.

Motivation

Standardizing username querying in decentralized applications. Instead of multiple decentralized applications creating a name for each user, each stored on the Ethereum chain, usernames may be queried from the holdings of a user's account, similar to querying an NFT or ERC20 token, preventing unneeded storage on the Ethereum chain.

In previous iterations of the web, an email served as a means of identification, and the email password (and 2FA) served as means of ownership. Currently, Ethereum uses public and private key pairings for identity and ownership, however, a username may be a more legible, memorable form of identification. GITs which will be tied to a public key, by which ownership remains with the private key. GITs will serve as more legible, memorable alternatives to public keys, without replacing a public key for private, unidentified accounts.

Specification

GITs are of string type, must be from 4 characters to 15 characters, and cannot start with a number. All letters must be lowercase on save.

@edsonayllon edsonayllon changed the title EIP: Global Identity Tokens EIP: Global Identity Tokens - ERC Proposal Jul 21, 2019
@gcolvin
Copy link
Contributor

gcolvin commented Jul 21, 2019

Why not just use an email as the name?

And can this be layered on the Ethereum Name Service?

@xinbenlv
Copy link
Contributor

+1 to @gcolvin . I think general naming service will work in this case. Aslo it seems this spec is in complete. If you could include what this ERC's interface will look like, that will help the discussion.

@edsonayllon
Copy link
Contributor Author

@gcolvin By having a global username system, a new iteration of email built on Ethereum can be possible. I'll look more closely at ENS. The first notable difference here is that each account allows allocation of only one username, while ENS allows allocation of multiple domain names.

@edsonayllon
Copy link
Contributor Author

@xinbenlv I'll plan a writeup of the interface later this week.

@edsonayllon
Copy link
Contributor Author

ENS may suffer with name squatting. This solution, as it was written now, doesn't consider that. Discord handles squatting issues by appending an integer ID to a username, and displaying the legible username in their application, with a full username ID available through deeper layers of their interface. A similar solution can be considered, where by each account is attributed 2 strings, one of their username of choice, and the second the true unique username with an appended integer ID.

@edsonayllon
Copy link
Contributor Author

However, by removing squatting, trading usernames disappears as an economy, as global identity tokens lose their value for trade if anyone can have any username by default.

@xinbenlv
Copy link
Contributor

I will wait to help review when interface becomes available. It helps me understand the purpose much easier.

@tjayrush
Copy link

tjayrush commented Jul 25, 2019

Part of your design must address the fact that in some case a global identity tied to a user's private key can actually lead to seriously bad outcomes especially in the face of an ill-intentioned regime. I wrote about this here: https://medium.com/@tjayrush/be-careful-little-brain-what-you-code-6ad4d5fb9d9b

Quoting:

We need to focus on ways to allow good-hearted people to act in ways that
may be in opposition to those in authority. If we are not careful, these new
identification systems may become history’s most powerful tools of oppression.

@edsonayllon
Copy link
Contributor Author

I'm gonna close this proposal.

ENS should be sufficient for the vision of this proposal, allowing psuedo-anonymity if the user chooses by not purchasing a ENS domain. Usernames can be changed by replacing ENS token ownership, or shifting priority in the case of multiple tokens, keeping ownership assigned by a user's private key and resulting public key hash.

If any expansion of this vision sees a need, it should be done through ENS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants