Thinking more on it, I think you can’t do the Augur style since the system has already launched. There is already a permanent registrar, and no intention of moving to a v2 registrar which I think is the minimum necessary requirement to implement a forking system since the forking system needs to be in place from launch.
The ENS team would like as many entities as possible to claim a name that fairly represents them. I expect that most relevant entities have heard of ENS but not all have had the time to understand the upcoming process.
This seems like the perfect opportunity to give the community a chance to do the heavy lifting.
When distributing names, you want two questions to be answered:
- Does this entity have the best claim to a name?
- Is this address the one that the entity wants as name owner?
I’d like to propose an on-chain system.
The ENS team commits a certain amount of eth to this endeavor and adds it to a payout pool.
Interested users apply to be pre-auction validators by staking a small amount of eth. If accepted, this gives them a unique id (erc721 for posterity?) which lets them:
- Submit an application for any entity/name combination that doesn’t already have one
- Challenge existing applications
Non-validators can also put their eth on the line to submit a new application, challenge an existing one or mark a validator as dishonest. Dishonesty is treated as expected, loss of funds, removal of applications and dismissal of challenges.
- If directly marked by the ENS team, their stake is added to the payout pool.
- If first marked by someone else and validated by the ENS team, their stake gets reallocated to the challenger.
At the end of the pre-auction, all honest validators will be able to recover their stake plus a proportional share equal to the total number of valid application they managed to complete.
To sum this up, people are incentivized to open a dialogue with entities that would have a valid claim and get them to provide an address (perhaps sign something?). Everyone is also incentivized to scrutinize existing applications for the chance of a payout for invalid claims.
The application process is improved with some degree of sybil resistance. If you’re comfortable then there is room for validation votes.
Example of the questions that need be positively answered:
- Please provide the address that the entity would have as name owner (0x…)
- Is this entity likely to use the name? (Yes - No)
- Is this name also a personal name, like “Alice”? (Yes - No)
- Is this name openly crypto, like “Bitcoin, Moon, Ether”? (Yes - No)
- Has this entity made an effort to aggregate an internet presence matching the name, ie. does it have matching DNS, social media handles, a subreddit, community channels…? (Yes - No)
- Does this entity have a product, either finished or WIP? (Yes - No)
- Is there another entity that has a better claim and would likely act if made aware? (Yes - No)
- Is this entity malicious? (Yes - No)
I realized halfway through that this could also work as a gitcoin grant.
Interesting idea, but isn’t it effectively a TCR, and hence vulnerable to capture? What prevents someone from just paying enough to get all their own applications approved and everyone else’s declined?
Rather than asking the teams/projects/companies to handle the assessment and application themselves, you would be paying people to act as intermediaries that serve as both an initial filter and submitter. If any of these people misbehave their behaviour will be reviewed, their actions deleted, their stake reallocated and their access to a share of the payment revoked. Anyone can notice an invalid application and is free to place a stake against it to force a review. Money doesn’t get an application approved, it simply gives you something to lose for wasting people’s time.
Both the review and the dispute resolution is left up to you, I imagine that most cases will be clear cut and would benefit from being handled on a transparent case by case basis by the ENS team, however you could just as easily choose to handle them through a 3rd party or community vote.
After much consideration, here’s how we’ve decided to move forward with the short-name reservation process -
- The existing reservation contract will be modified to accept an email address for communications about the application. This will allow the ENS team to contact applicants about the status of their reservation request.
- Applications will still need to be supported by a matching DNS domain, in order to establish that the address requesting ownership represents the party or parties concerned.
- The ENS team will write-up guidelines on what an acceptable application is and publish them before the application process begins. The guidelines will also cover who gets the domain if there are multiple applicants.
- All reservation requests will be subject to review. Any request can be rejected even if it’s the only application for a name. For example, we want to prevent a squatter from getting ‘foo.eth’ just because they bought ‘foo.domains’ and nobody else asked for it.
- As @jgm suggests, the ENS team will make all decisions ourselves. Anyone can pay a fee to dispute the ENS teams’ decision, at which point an independent arbitrator will make the decision.
Thanks to everyone for your thoughtful, creative and considered feedback!
Who is the “independent arbiter”?
first the community projects, then private actors and brands, then spammers
I also think we missed the concept of PUBLIC DOMAIN (belonging to the community) as opposed to PRIVATE DOMAIN.
We could have made a list of forbidden domains (suggested/signaled by the community) like ethereum.eth with the aim to keep them safe for possible collaborative projects strictly related to the Ethereum Computer , and managed by the community.
Who would keep all the public domains? A dao ruled by eth hodlers? the Ethereum Foundation? I don’t know.
It seems a bit late now to compile the list.
This attention should be anyway kept alive in case of multiple claims.
thinking out loud
Regardless of any efforts undertaken now, there will always be some late-to-the-party company that will only care about this years from now. This is both inconvenent for the company as well as for users for all the reasons mentioned here. I think the main problem here is the implicit DNS -> ENS association. Obviously I expect apple.eth to be owned by the same entity as apple.com.
My suggestion is to explicitly remove this expectation by reserving the DNS TLDs as subdomins with the sole purpose of being a DNS-equivalent, e.g. apple.com.eth is guaranteed to be owned by the current apple.com DNS owner. How this DNS verification/migration is done does not need to be decided at this point.
This would have several advantages:
- Pure .eth domains will keep their wild-west/capitalistic crypto charme, users of .eth domains are aware that this may not correspond to DNS
- Users that want the DNS-equivalent can have it with .TLD.eth domains
- No overhead for the short name auctions except reserving TLDs
- Potentially another revenue stream, companies who missed their .eth name but still want to be on ENS are willing to pay extra for additional verification. This could either be done by ENS or some third party
- And the biggest point: No immediate effort, future flexibility. This can just run in parallel to all the solutions being worked out here or even as a backup. We can sit on this question for a while and see if problems arise in the future and only worry about a DNS verification process later on (although it would reduce the awareness that ENS =/= DNS).
- Reserving DNS TLDs is probably a good idea anyway
We already have DNSSEC integration in the pipeline so feels like a duplicate effort https://medium.com/the-ethereum-name-service/upcoming-changes-to-the-ens-root-a1b78fd52b38
If no one can squat, there is no rational charging rent for it (and there is no renewal fee on dnssec based name).