Today, smartphone users are rarely content with one messenger, but use different ones, distinguishing between work and personal communication or chats based on interests. At the heart of any messenger is a protocol, it largely determines the features of its work.
We compared the protocols of a number of popular instant messengers according to different criteria. Particular attention was paid to the security of correspondence, tk. we believe that the main requirements for the protocol are the anonymity of the interlocutors and the security of the transmitted information. Although for some users the functionality of the client itself is more important, and this position is quite understandable.
The review includes protocols for messengers Riot, What’s App, Jami, Briar, Antox, Signal, Telegram. Let’s designate the criteria by which the comparison was carried out:
We answer the questions:
Is the source code of the protocol distributed freely, under the terms of one of the licenses?
What method is the development carried out – open source or not?
Are the developers interacting with the community? Do pull requests accept?
We check where you can see the sources and make sure that they are updated regularly and the last update was released relatively recently.
One of three options is possible here:
centralized – servers required
federated – a network of servers that communicate with each other
decentralized (meaning P2P) – each client is also a server
Anonymity is the ability not to associate an account with any identifiers that a user already has, such as an email or phone number. And if a separate mailbox for registration in various applications can still be created, then registration by phone number can be equated to registration with a passport.
Encryption support for dialogs. Unfortunately, there are still protocols, and therefore messengers, in which messages are not encrypted at all. Some of them provide the ability to conduct encrypted correspondence. We believe that E2EE should be the default option, as not all users are tech-savvy and aware of the need to encrypt communications.
Receiving messages offline
Everything is extremely simple here: I am interested in the possibility of receiving messages offline.
Alternative communication channels
The possibility of correspondence outside the Internet, for example, via LAN, Bluetooth, Wi-Fi, Tor-browser, etc. The downside – these channels can be used only when users are nearby, plus – they are much safer.
File transferAbility to send photos and other attachments.
Support for audio calls.
Support for video calls.