So, in pidgin, you are stuck with pidgin’s UX whether you like it or not in order to access the remote network (unless you use a different multihead client). Whereas with a matrix bridge, running either serverside or clientside, you can then connect to the bridged conversations using any UX you like (of which there are now hundreds of Matrix apps of different flavours). Moreover, each chat’s history gets decentralised across any other Matrix servers whose users are participating in that conversation.
The architecture is more like bitlbee, for those who know it - but using Matrix rather than IRC as the protocol between the client and bitlbee, so the richness of the comms is preserved (rather than flattening everything to IRC).
Realistically I'd run a dedicated bridge on a home server or vps then, but I guess not everyone wants to do that.
But one step at a time I guess :)
Typically a client-side bridge would run on your current device, so if it can't connect to the server, then you're probably out of connectivity anyway so it's not a disaster.
> or that the hypothetical API of that proprietary service must be ready to be accessed from multiple clients at once
I'd expect that the gatekeeper's API would allow access from multiple clients, just as the normal clients would.
> Realistically I'd run a dedicated bridge on a home server or vps then, but I guess not everyone wants to do that.
The problem is that if you run a dedicated bridge to an E2EE messenger like WhatsApp from a VPS, then that VPS becomes a massive attack target. Hence looking for safer places to run it - e.g. buried inside your phone, where if the phone is compromised, you're already toast.
I'm just cynical enough to believe those gatekeepers would totally accidentally make their API as cumbersome to use as possible while still technically meeting the requirements. ;)
> The problem is that if you run a dedicated bridge to an E2EE messenger like WhatsApp from a VPS, then that VPS becomes a massive attack target.
The usual cautionary disclaimers when self-hosting apply. But probably still a less juicy target than the hypothetical bridge provider TFA outlines. Someone offering Whatsapp bridging as a service is quite a nice attack target.
Does P2P Matrix take things a step further, though, potentially allowing people to have zero accounts, and just having a private key file on their device (or synched between multiple devices) and a display name of their choosing?
Isn't that what an "account" ultimately is? You need a way to tell the server – "route all messages to and from me using this identifier". That ID can be a display name, or a phone number (like WhatsApp), or email or whatever else. And the server has to persist that ID on their end and associate it with your current session.
For example, you could update your IP address (for people to contact you at) by sending a signed message to a global DHT, or, for more privacy, put the address of your current rendezvous server in the DHT instead. The rendezvous server would be responsible for forwarding incoming connections to you, which you could refuse based on the public key of the initiator.
If the rendezvous server only stores a lookup between your public key and IP address, perhaps only in memory, for a few hours, before you switch to a different rendezvous server, that doesn't feel like having an "account" on a server.
At that point, why even re-encrypt? Passing messages from one process to another, or maybe even within the same process probably doesn't require re-encryption. You could even cut out the whole protocol translation and just write a multi-protocol client like pidgin, trilian et al back in the day. Or am I missing something obvious here?