mmm OK, maybe I have some confusion about this: I thought that the clean chain name would only be representative of the target chain of the transaction, not the actual position of the ENS record in the registry.
Meaning:
- I assume that ENS is the only and default name service, so that name resolution can be implicit in some cases (we only look at ENS if there’s a clean name, or if the name starts with
0x
, a string that can be reserved so that nobody can take names starting with0x
) - if I want to send 1 ETH to
alice.eth
on Arbitrum, there can only be onealice.eth
anywhere, just like there is now, so I just usealice@arbitrum.eth
, and not because it’s bound, but because that string, in that moment, routes to the specific address of Alice.
This flow works the same way as email on the UX part, but differently on the routing part.
There’s a lot of confusion about chains and names because some L2s and dapps are reserving their chain or dapp name (like Base or Uni) and selling subdomains as identities on the chain (and yes, those are of course bound by the chain name!)
But if a universal multichain address routing goes through, then those subdomains don’t make sense anymore.
I imagine that the routing would be happening at runtime, and not in a predefined record, so that if a chain shuts down, changes name or if a user changes name or its account gets compromised, nothing can break.
Does it make sense?