They are near-ubiquitous on a per-user level, but hard to accumulate without significant cost. (Unlike email addresses.)
But the down side is that phone verification tends to be on a per-service level. So, for instance, Signal incurs these costs when they verify their users, and every other service incurs these same costs when they verify _their_ users.
There are a number of businesses out there that are trying to act as clearinghouses, where they verify the users once, then allow the users' verified profiles to be confirmed by multiple services.
I wonder if any of those could be used to reduce these "registration" costs.
> Service A => User: Please Enter Your Phone Number and Email
> Service A => Clearinghouse: Please verify phone number XXX wants to sign up for an account with us
> Clearinghouse => User (SMS): Please respond with the Email you used at signup to confirm you want an account with Service A
Later...
> Service B => User: Please Enter Your phone number and Email
> Service B => Clearinghouse: Please verify phone number XXX wants to sign up for an account with us
> Clearinghouse => User (Email): Please verify you want an account with Service B
Not saying it's great (providing email twice is annoying), but it's something.
Telephone numbers are fundamentally incompatible with privacy. Signal's leadership knows this, but they don't appear to care.
The clearing house verifies you only once, or once a year, instead of every time. If the clearing house were to be a nonprofit, perhaps even set up by Signal themselves to spread costs with similar services, that has to be cheaper.
It also gives users confidence that only a randomized user ID was shared, so it won't be used for cross-service correlation and tracking, if the service didn't actually need your phone number but only some identifier.
Varies heavily by region. The shop opposite my house has ~50 SIM cards on the shelf, for £0.99/ea.