This ended in the funniest way possible: being banned for using third party client Ripcord (presumably, no other offenses, happened shortly after trying it out).
My prediction for a system similar to the one parent suggests is that people will continually keep creating accounts until they get something like "Max a0a0a0a" or "Max 000000e" or something by chance, and then that becomes """valuable""" and the same thing happens.
A solution is to display the random nonsense as a unique image. More pleasant to look at, much easier to discern differences. There exist competing standards and services to generating images from random numbers, because it turns out the most universal way of doing this is abstract colorful shapes, which fall into that uncanny valley of approximating but not quite successfully imitating abstract art; And most people seem to think that's ugly.
Maybe that dall-e thing could generate good images to represent hashes? What does it output if one inputs nonsense?
2. User is free to change avatar and username, except there must be no visually similar avatar-username combinations across userbase. The restriction is enforced any time the user changes avatar or username.
3. System ID is shown to screen readers in place of avatar.
4. Whenever user interacts with another, if they have not communicated before, profile image or system ID is made more prominent for validation.
"Easy" solution: all account names must be at least ten characters long, single dictionary words and common first names are illegal. Make everyone spend some time picking a Good Handle.