The way you could implement such a thing into Bitcoin would be like you could have DNS entries for a particular domain where you define one record for the alias you want to use, containing a signed BIP322 transaction. The record is being used as a challenge.
for example:
For Bitcoin.org
TXT record for "btc.challenge.alice": <BIP322 signed transaction which includes the address in the transaction body being sidned>
To be able to send bitcoin to
alice@bitcoin.orgNow this presents two benefits:
1. You can have as many aliases for a domain as you want, just by replacing alice with some other name like bob, and this creates records with two different names
2. You can actually verify that
alice@bitcoin.org owns an address like 14758AB.... because the signed transaction also includes the public key in the scriptsig/witness data.
Sure, it wouldn't be random aliases, but I imagine in order to fix that you'd be able to take the hash160 and a large enough dictionary list of words, and assign every 20 bits to a dictionary word.