The Primary ENS Name (aka Reverse Registration) is one of the most critical feature to make ENS as “Web3 User name”. Any dapps can reverse lookup ENS of the connected user and display ENS name as the primary username.
Many blockchain explorers and dapps decode the transaction history to add ENS names into their site.
However, because the current primary name can only be set by the address owner, it brings the following limitations.
- a. Cannot set primary name at registration in one transaction
- b. Contracts cannot set primary name unless the contract supports the ability to call arbitrary functions via the contract
- c. Users has to pay the gas on L1
- d. Dapps (or other services) cannot substitute gas on behalf of the user
The upcoming smart contract upgrade solves a, and b (with the introduction of owner and authorised ), but c & d still remain as problematic.
The problem even becomes more apparent as CCIP-read becomes adopted to integrate with Layer 2/Offchain. Even though users pay little or no gas to register names offchain/l2, users still has to pay the gas on L1. This is because reverse registrar (aka primary name) is currently another tld under hash[addresss].addr.reverse
on l1. The current architecture doesn’t allow users to change primary name registration offchain/l2 unless the entire name space moves to a l2 chain (even when this happens, it does not allow you to set primary names of your choice).
There are a couple of improvement plans suggested and I would like to use this thread to continue the conversation.
Option 1: Multiple reverse registrar across multi chain.
This was discussed back in 2021 during the after hour of ENS workshop between matoken.eth and ricmoo.eth
The idea is to deploy registrar to each chain, and the registry has the list of chainId and registrar contract names to lookup. The addition/deletion of the cross chain registrar registrion is done by the DAO voting. When the user has registered reverse name on the multiple chains, the last registered record wins (assuming that the registration date exists on chain).
The pros of the idea is that it allows user to pick the chain of their choice.
The cons of the idea is that the reverse lookup may become slow when the list gets big. It also does not allow users to use offchain as a data storage (and probably need special consideration for non EVM chains like Starknet).
Option 2: Gasless primary DNS names
The idea by Premm.eth.
(Premm to fill in)