ENS Name Normalization

First off, I’m assuming you mean domain names vs subdomains (as TLDs would be .com, .net, .org, .eth and so on)

I looked into this a while ago and the convention of not using underscores in domain names is from an incredibly outdated specification hailing from 1987 that was last updated in 1997 (the last spec is from 1998 but is about URI’s):

Summary: HostNamingRules < CF < TWiki


The TLDR is that it was decided that domain names should follow ARPANET hostname rules to prevent incompatibility with legacy software like telnet and mail before operating systems other than Plan9 conformed to unicode.

ENS doesn’t have to make those same considerations because it doesn’t support legacy software regardless. I haven’t seen any up to date specification that disallows underscores for any reason beyond this, let alone a reason that matters to ENS or modern software.

These same specifications also contains many antiquated rules restricting the length of names, internationalized names, all unicode and many more things we wouldn’t want to restrict ourselves to.