End-to-End Encrypted Messaging System
Design a high-scale, end-to-end encrypted (E2EE) messaging platform similar to Signal or WhatsApp. The system must support 100M daily active users, providing real-time delivery for online users and reliable store-and-forward delivery for offline users. Key requirements include implementing a mechanism for asynchronous key exchange (X3DH), ensuring perfect forward secrecy via the Double Ratchet algorithm, and handling encrypted media uploads. Discuss how you would minimize metadata leakage, handle presence at scale, and ensure no messages are lost during server-side failures.
Signal ProtocolWebSocketsKafkaRedisPostgreSQLCassandraS3gRPCTLS 1.3JWT
00