As I understand it, the challenge is to do it in a privacy-friendly way, since your contact list of phone numbers is on your phone, but this has to live on Signal's servers.
I don't think I understand how this is not circular reasoning (can't use UUIDs in place of phone numbers because contact list is comprised of phone numbers instead of UUIDs.) If contacts are not phone numbers, then is there a problem with them living on Signal's servers? Are we back to the complaint about discovery being difficult?
Signal uses phone numbers because it makes discovery easy. Threema, for example, can use phone numbers for discovery but does not require it. Discovery without phone numbers is easy. I see my contacts and scan their Threema QR codes. If I need to contact a friend of a friend, my friend gives me the FoaF's Threema ID.
Because your contact list is something you should backup somewhere (cardav, Google,...), and this is the expected place for all your contact information.
Signal would need to store a second contact list if it was not using the phone contacts. And suddenly you need to backup this second contact list. If every app does that you can forget about the user backing up everything, they simply won't do it and the feature becomes useless. The solution would be for Signal to store it on their server, obviously encrypted. But then you have different privacy issues to take care of: how can you retrieve a user's contact without storing its identity. How do you hide the number of contact they have...
so signal claims to protect my messages yet denies me privacy by insisting on making my contact list public where every other app can see it, just because they believe that most users are to dumb to back up their contacts?
every chat application that i have stores its own contact list. in fact i don't even have any contacts in my general phone contact list, because i don't call or send sms to people. and i don't want any chat contacts in my phone contact list.
i have not tried signal yet, mainly because it is not available on f-droid. but if signal insists on storing its contacts in my general phone list then i won't be able to use it. and that's ignoring the problem with using phonenumbers.
there is no technical problem to store contacts locally. deltachat does that too. deltachat also provides a backup feature to export the local data including contacts and messages so you can restore them on another device.
there is no reason, signal couldn't do the same.
i don't know why this is so unusual. we are having this same argument every time signal's use of phone contacts is brought up. and every time the same claims are being made.
it's basically saying: i am going to take over your contact list, and if you don't want those contacts to be shared with other apps, then you can just block them.
But if Signal only used the phone's contact list, and only stored it locally, and if a user independently backed up her contact list, wouldn't that mean in the case of phone loss, Signal could rebuild its contact list once the user restored her contacts to the new phone? Am I missing something?
I wonder could it be something like how diffie-helman allows a watertight tls connection to form without shared secret. In that case you could base your session on a on some random hash derived from some kind of passphrase which could be provided to later identify the session
Yes but every time you connect to the network you have a new identity- by design - with signal you would still want a way to identify yourself across sessions
As I understand it, the challenge is to do it in a privacy-friendly way, since your contact list of phone numbers is on your phone, but this has to live on Signal's servers.