Peer-to-peer messaging using DHT and DSHT for asynchronous delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing peer-to-peer messaging systems require central platforms for message relay, authentication, and spam protection, limiting asynchronous and secure message transmission between users.
Innovation Solution
A peer-to-peer messaging system using a combination of DHT and DSHT protocols for secure, asynchronous message transmission, where messages are encrypted and stored on intermediary users, validated for integrity, and managed through cryptographic signatures to ensure secure delivery without central authority.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a traditional DHT protocol is used for message storage and retrieval, then the system provides decentralized storage with efficient lookup, but it only supports single-writer multiple-reader scenarios which is insufficient for messaging systems requiring multiple writers with single reader
Solution Approach 1:
The message storage and retrieval process is segmented into distinct phases: message insertion by senders using DHT, and message retrieval by receivers using DSHT. This segmentation allows each protocol to be optimized for its specific function while working together to solve the overall messaging problem.
Solution Approach 2:
The patent introduces an intermediary mechanism where senders act as intermediaries who insert messages into the DHT using their own keys, and receivers act as intermediaries who query the DSHT to find and retrieve messages. This intermediary approach enables multiple writers and single reader scenarios without requiring centralized coordination.
2Productivity
If DSHT protocol is used to support frequent fetches and stores, then both writers and readers can operate asynchronously, but the get behavior returns only a randomized subset of values which is inappropriate for messaging systems requiring complete message delivery
Solution Approach 1:
The system applies different quality requirements to different operations: insert operations use DSHT's randomized subset behavior which is sufficient for storage redundancy, while get operations use DHT's exact match behavior which ensures complete message retrieval. This local quality differentiation resolves the contradiction between asynchronous operation and message completeness.
3Ease of operation
If conventional pull-based peer-to-peer messaging is used, then senders can store messages locally and notify receivers, but both sender and receiver must be connected at the same time which limits asynchronous communication
Solution Approach 1:
Senders perform preliminary action by inserting messages into the distributed hash table before the receiver needs them. The message is stored in the network in advance, and the receiver can retrieve it asynchronously when connected, eliminating the requirement for simultaneous connection.
4Ease of operation
If messages are stored in DHT with ID similar to recipient ID, then message routing is simplified, but the computational intensive operations for ID manipulation and message decryption at each node increase system overhead
Solution Approach 1:
The patent extracts the computationally intensive decryption operation from intermediate nodes and concentrates it only at the receiver node. Intermediate nodes only perform simple DHT lookup and message forwarding, while the receiver performs the single decryption operation needed to access its messages. This extraction dramatically reduces overall computational overhead.
Data Source
AI summary
The present invention relates to a computer implemented method for transmitting a message in a peer-to-peer messaging system between at least one emitter A and at least one receiver B through at least one intermediary user C, wherein said method comprises the steps of generating said message /(msg) at said one emitter A and encrypting said message with a receiver public key (recv_pubk) so as to generate a unique message identifier (msg_id), encapsulating said crypted message into an envelope (E) so as to generate a first cryptographic signatures (snd_sig) and its identifier (id), sending said envelope and storing it at said at least one intermediary user C participating in a distributed hash table (DHT) by using a distributed hash table put function, characterized in that when said at least intermediary user C stores said envelope, it uses a distributed sloppy hash table (DSHT) to announce himself as a provider for a specific key, and in that when the at least one receiver B connects, it looks in the DSHT for providers of said specific key and for each found intermediary user C as provider, requests him to send all the messages addressed to him.

