Existing Communication Solutions
At the moment, 2 approaches to information exchange are mainly used in networks:
User<>Server (Centralized Model)
This is a classic and still the most common model:
- User1 wants to send data to user2
- User1 connects to a server and sends data to it.
- User2 receives the data from the server. This model has a number of serious problems with both security and fault-tolerance:
- The server is controlled by a third party, which results in:
- Server dependency.
- Server failure renders communication impossible for all server users.
- Blocking/censoring of the server makes it inaccessible.
Centralized services include:
- All social networks (any web service).
- Classic email ( SMTP )
- Most IM/VOIP solutions ( Viber, WhatsApp, Telegram, Discord, RaidCall, ....., the messaging/video/voice chat program that you use most likely works exactly according to this scheme )
User<>User (P2P Decentralized Model)
There is no division into user and server in this system, each data exchange participant often acts as both simultaneously. This approach, when used correctly, allows for a high level of privacy and security, but it also has its drawbacks:
- Requires an external ip address for at least one of the participants. NAT problems
Can be partially solved with UPnP, NAT-PMP, stun.
IPv6 completely solves this problem.
- Often a greater consumption of internet traffic (which may be undesirable on mobile devices).
- Often requires more computing power, RAM, hard disk space to store data and metadata.
- Often less convenient for end users because part of the functionality for the average user with this approach is either difficult or completely impossible.
User<>Intermediary<>User (Hybrid Model)
This is a subtype of User<>User (P2P) that uses intermediaries, in the role of which can act a regular user as well as a dedicated computer/router.
This model was created for the purpose of solving some key problems within the pure P2P model, namely:
- NAT problems.
In the hybrid model, users who do not have an external IP address can exchange data through intermediaries.
- Problems with offline data storage.
In the hybrid model, intermediaries can act as servers for storing data that must be delivered to a user who is not online at a given time.
You can familiarize yourself with major security and privacy concerns, general security and privacy recommendations on the internet, recommended program solutions for secure and private communication, as well as basic cryptography for beginners.