Comparison of instant messaging protocols
The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.
Table of instant messaging protocols
Protocol | Creator | First public release date | License | Identity (not inc. alias) | Asynchronous message relaying | Transport Layer Security | End-to-end encryption | Unlimited number of contacts | Bulletins to all contacts | One-to-many routing 4 | Spam protection | Group, channel or conference support | Audio/VoIP support | Webcam/Video | Batch file sharing | Media synchronisation | Serverless 6 (decentralized) | Protocol |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bitmessage | Jonathan Warren | 2012 Nov | Open standard | Alphanumeric address | Yes | Yes | Yes | Yes | No | Yes | Yes (through proof-of-work) | Yes | No | No | Yes | No | Yes | Bitmessage |
Bonjour | Apple Inc. | 2002 August | Proprietary Freeware; portions under the Apache license | Username | No | No | No | Yes | No | multicast | Medium | No | No | No | Yes | No | Yes | Bonjour |
Briar | Briarproject.org | 2018 May 9 | Open standard | Public & Private key (via QR Codes) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | Briar |
Gadu-Gadu | GG Network | 2000 Jul 17 | Proprietary | Unique number e.g. 12345678 |
Yes | Yes | No | Yes | No | Centralistic | Yes 5 (simple) | Yes | Yes | Yes | Yes | No | No | Gadu-Gadu |
IRC | Jarkko Oikarinen | 1988 Aug | Open standard | Nickname!Username@hostname (or "hostmask") e.g. user!~usr@a.b.com1 |
Yes, but via a memo system that differs from the main system | Yes, depending on individual server support | OTR by DM to client-to-client only | No3 | No | Simplistic multicast | Medium | Yes (everyone, multiple simultaneous, any size) | No | No | Yes | No | No | IRC |
Echo | spot-on.sf.net / goldbug.sf.net | 2013 | Open standard | Key | Yes | Yes, optional | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Echo |
Matrix | Matrix.org | 2014 Sep[1] | Open standard | Matrix user ID (MXID) | Yes | Yes, mandatory | Yes, default for private conversations[2] | Yes | Yes | Yes | Yes (using pluggable server-side filtering modules) | Yes | Yes | Yes | Yes | Yes | Yes | Matrix |
MSNP (Windows Live Messenger, etc.) | Microsoft | 1999 Jul | Proprietary | Email address (Microsoft account) | Yes | No | No | Only for certified robots | No | Centralistic | Yes | Yes | Yes | Yes | Yes | Yes | No | MSNP (Windows Live Messenger, etc.) |
MTProto (Telegram) | Telegram Messenger LLP | 2013 Aug | Open standard | Phone number (e.g. +1234567890), nickname (e.g. @example) | Yes | Yes | No end-to-end encryption for group chats on any client. No end-to-end encrypted one-on-one chats on desktop clients | Yes | No | Yes | Yes, contact blocking | Yes | Yes[3] | No | Yes | Yes | No | MTProto (Telegram) |
Mumble | Thorvald Natvig | 1999 Jul | Open standard | Username | Yes | Yes | No | Only for certified robots | No | Centralistic | Yes | Yes | Yes | No | Yes | No | No | Mumble |
OSCAR (AIM, ICQ) | AOL | 1997 | Proprietary (Discontinued 15-Dec-2017)[4] | Username, Email Address or UIN e.g. 12345678 |
Yes | Yes (Aim Pro, Aim Lite) | No | No | No | Centralistic | client-based | Yes (Multiple, simultaneous) | Yes | Yes | Yes | No | No | OSCAR (AIM, ICQ) |
RVP (Windows Messenger, etc.) | Microsoft | 1997 Mar | Proprietary (Discontinued) | Windows Active Directory Login | No | No | No | ? | No | Centralistic | None | No | ? | ? | No | No | No | RVP (Windows Messenger, etc.) |
Ricochet | Invisible.im | 2014 Mar | Open standard | Tor onion address | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes | No | Yes | Ricochet |
Jami (based on DHT and SIP) | Savoir-faire Linux Inc. | 2015 May | Open standard | 40-digit address | Yes | Yes | Yes | Yes | No | Yes | Medium | Yes | Yes | Yes | Yes | No | Yes | Jami (based on DHT and SIP) |
Signal Protocol | Signal Messenger | 2014 Feb[5] | Open standard | Phone number (e.g. +1234567890) | Yes | Yes | Yes | Yes | ? | Yes | Yes, contact blocking | Yes | Yes | Yes | Yes | Yes | No | Signal Protocol |
SIP/SIMPLE | IETF | 1996 | Open standard | user@hostname | Yes | Yes | Optional | Yes | Yes | No | Medium | ? | Yes | Yes | Yes | No | Depends on implemenation | SIP/SIMPLE |
Skype | Skype | 2003 Aug | Proprietary | Username | Yes | Proprietary | No | No | No | Centralistic | client-based | Yes | Yes | Yes | Yes | No | No | Skype |
Steam Friends | Valve | 2003 Sep 12 | Proprietary | SteamID/Username or Unique Number | Yes | Proprietary | ? | No, although rising | Yes | ? | No | Yes | Yes | No | No | No | No | Steam Friends |
TOC2 | AOL | 2005 Sep | Proprietary (Discontinued) | Username or UIN e.g. 12345678 |
Yes | No | No | No | No | Centralistic | No | paying members only | ? | ? | Partial | ? | No | TOC2 |
TOX (based on DHT) | irungentoo (github user) | 2013 June | Open standard | Public & Private key | Yes | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes | ? | Yes | TOX (based on DHT) |
Tuenti | Tuenti | 2006 | Proprietary | Username | Yes | Yes | No | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | ? | No | Tuenti |
Windows Messenger service | Microsoft | 1990 | Proprietary (Discontinued) | NetBIOS | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No | Windows Messenger service |
XMPP | Jeremie Miller, standardized via IETF | 1999 Jan | Open standard | Jabber ID (JID) e.g. usr@a.b.c/home2 |
Yes | Yes | Optional[6][7][8] | Yes | Yes | Yes[9][10] | Yes[11][12][13] | Yes[9] | Yes, via Jingle | Yes, via Jingle | Yes | Yes[14] | Optional[15] | XMPP |
YMSG (Yahoo! Messenger) | Yahoo! | 1998, March 9 | Proprietary | Username | Yes | No | No | No | Yes | Centralistic | Yes | Yes | Yes | Yes | Yes | No | No | YMSG (Yahoo! Messenger) |
Zephyr Notification Service | MIT | 1987 | Open standard | Kerberos principal e.g. user@ATHENA.MIT.EDU |
Yes | No | No | Yes | Yes | Yes | No | Yes | No | No | No | No | No | Zephyr Notification Service |
SMS/MMS/EMS/Call | Friedhelm Hillebrand | 1985 | Proprietary | Phone number (e.g. +1234567890) | Yes | No | No | About 250 contacts in SIM, unlimited from phone. | No | serial messages | Medium | No | Yes | No | No | No | ? | SMS |
Protocol | Creator | First public release date | License | Identity (not inc. alias) | Asynchronous message relaying | Transport Layer Security | End-to-end encryption | Unlimited number of contacts | Bulletins to all contacts | One-to-many routing 4 | Spam protection | Group, channel or conference support | Audio/VoIP support | Webcam/Video | Batch file sharing | Media synchronisation | Serverless 6 (decentralized) | Protocol |
Note 1: In ~usr@a.b.com, the a.b.com part is known as the "hostmask" and can either be the server being connected from or a "cloak" granted by the server administrator; a more realistic example is ~myname@myisp.example.com. The tilde generally indicates that the username provided by the IRC client on signon was not verified with the ident service.
Note 2: In usr@a.b.c/home, the home part is a "resource", which distinguishes the same user when logged in from multiple locations, possibly simultaneously; a more realistic example is user@xmppserver.example.com/home
Note 3: Scalability issue: The protocol gets increasingly inefficient with the number of contacts.[16][17]
Note 4: One-to-many/many-to-many communications primarily comprise presence information, publish/subscribe and groupchat distribution. Some technologies have the ability to distribute data by multicast, avoiding bottlenecks on the sending side caused by the number of recipients. Efficient distribution of presence is currently however a technological scalability issue for both XMPP and SIP/SIMPLE.
Note 5: There have been reports from users that the antispam filter is used to censor links to other IM programs and some websites.
Note 6: Serverless protocols don't have any central entities (usually companies) controlling the network. Serverless network consists only of clients. Such systems are usually extremely resistant to surveillance and censorship.
See also
- Comparison of instant messaging clients
- Comparison of Internet Relay Chat clients
- Comparison of LAN messengers
- LAN messenger
- Secure instant messaging
References
- Ermoshina, Ksenia; Musiani, Francesca; Halpin, Harry (September 2016). "End-to-End Encrypted Messaging Protocols: An Overview". In Bagnoli, Franco; et al. (eds.). Internet Science. INSCI 2016. Florence, Italy: Springer. pp. 244–254. doi:10.1007/978-3-319-45982-0_22. ISBN 978-3-319-45982-0.
- "Cross-signing and End-to-end Encryption by Default is HERE!!!". Matrix.org. Retrieved 2020-05-08.
- https://telegram.org/blog/calls
- https://aimemories.tumblr.com/post/166091776077/aimemories
- Marlinspike, Moxie (24 February 2014). "The New TextSecure: Privacy Beyond SMS". Open Whisper Systems. Retrieved 12 December 2015.
- "XEP-0027: Current Jabber OpenPGP Usage". xmpp.org. 2014-03-14. Retrieved 2020-03-09.
- "XEP-0373: OpenPGP for XMPP". xmpp.org. 2018-07-30. Retrieved 2020-03-09.
- "XEP-0384: OMEMO Encryption". xmpp.org. 2018-07-31. Retrieved 2020-03-09.
- "XEP-0045: Multi-User Chat". xmpp.org. 2019-05-15. Retrieved 2020-03-09.
- "XEP-0060: Publish-Subscribe". xmpp.org. 2019-10-06. Retrieved 2020-03-09.
- "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence". xmpp.org. March 2011. Retrieved 2020-03-09.
- "XEP-0159: Spim-Blocking Control". xmpp.org. 2006-07-11. Retrieved 2020-03-09.
- "XEP-0161: Abuse Reporting". xmpp.org. 2007-05-06. Retrieved 2020-03-09.
- "XEP-0280: Message Carbons". xmpp.org. 2017-02-16. Retrieved 13 December 2018.
- "XEP-0174: Serverless Messaging". xmpp.org. 26 November 2008. Retrieved 1 November 2017.
- RFC 1324, D. Reed, 1992. 2.5.1, Size
- Functionality provided by systems for synchronous conferencing, C.v. Loesch, 1992. 1.2.1 Growth