Registration Protection?

If I understand correctly, after a user commits an ENS Domain, they have 7 days to complete registration before needing to commit again. At some point I misread this and thought that I actually had seven days of “protection” after a commit, during which no one else could register the domain. To be honest, I’ve held this assumption for a while.

Do I have this right now? Is there no period of protection preventing other users from registering a domain you have committed? If not, is this a feature that might come in the future?

2 Likes

There is no such “protection”, it is not a reservation system. The two-transaction process is there to mitigate frontrunning by miners/bots:

The 7 days also gives you leeway to do the final register transaction later, in case gas prices suddenly spike up or something.

Note that nobody knows what name you intend to register from the initial commit transaction, as only a hash is broadcast on-chain.

No, I don’t believe any such “protection” would ever be implemented. It is not possible currently because not even the smart contracts know what name is being registered from the initial commit. And if that knowledge was broadcast in the initial commit, then it would defeat the purpose of having a two-step “commit reveal” in the first place.

5 Likes

Thank you so much!
I think what is confusing me is the text “and protect you after your request.” which is found in the registration instructions.
I suppose now I wonder further, what exactly does this phrase refer to?

Without the two-step process, theoretically someone monitoring transactions (or a miner/bot) could see your register transaction broadcast, and immediately issue their own register transaction for the same name, and then push it through before yours with higher gas price / priority fees.

Instead with the 2-step process, you Commit, then wait a minute, then perform the actual Register. Even if someone saw that Register transaction broadcast for domain.eth, in order to frontrun you they would have to also perform the Commit tx first and wait another minute, and then perform the Register tx, all before your Register tx finishes. Which is technically possible if your Register transaction uses a low gas price and takes a while to finish. So it’s not a guarantee, it just helps mitigate any frontrunning in most cases.

7 Likes

Thanks for the question and response! I too was under this misconception and learned the hard way three days later when my domain was taken. Great clarification.

1 Like