Earlier quoted context omitted.
How do you deal with spam without requiring a phone number to register?
Signal doesn't ask for phone numbers simply to combat spam; the phone number isn't an elaborate captcha. Rather, as this article repeatedly points out, Signal doesn't keep your contact lists and other data available to its servers. It uses phone numbers because phones already have contact lists, stored clientside, keyed by those numbers. To replace the numbers with usernames, Signal users would have to either give up…
Also, everyone not sharing their contacts with the signal app already have that UX. Minus the privacy benefits of course.